从这里关于测试协议一致性的另一个问题来看,这就是解决方案......
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...
}
}
}
}
那么我该如何编写上面的内容,以便我可以检查相等的一致性并相应地处理它呢?