0

从这里关于测试协议一致性的另一个问题来看,这就是解决方案......

public class Foo<TItem> {

    final public var items:[TItem] = [] {
        didSet{

            // This is allowed
            if TItem.self is SomeProtocol.Type {

            }
            else{
            }
        }
    }
}

但是,由于自己的要求,这是不允许的...

public class Foo<TItem> {

    final public var items:[TItem] = [] {
        didSet{

            // This is NOT allowed
            if TItem.self is Equatable.Type {
                ...update based on eqality...
            }
            else{
                ...process en masse since we can't check for equality...
            }
        }
    }
}

那么我该如何编写上面的内容,以便我可以检查相等的一致性并相应地处理它呢?

4

0 回答 0