“找不到’contains’的重载,它接受类型'([([(String)])]),[(String)])”的参数列表
var allCards = [[String]]()var exp1 = [String]()if !contains(allcards,exp1) { allCards.append(exp1)}
这是怎么回事!?
因此,Array不符合Equatable协议/// Return `true` iff `x` is in `seq`.func contains<S : SequenceType where S.Generator.Element : Equatable>(seq: S,x: S.Generator.Element) -> Bool
不能在这里使用.您可以使用基于谓词的变体
/// Return `true` iff an element in `seq` satisfIEs `predicate`.func contains<S : SequenceType,L : BooleanType>(seq: S,predicate: @noescape (S.Generator.Element) -> L) -> Bool
代替:
var allCards = [[String]]()var exp1 = [String]()if !contains(allCards,{ == exp1 } ) { allCards.append(exp1)}
因为==是为Equatable元素的数组定义的.
总结以上是内存溢出为你收集整理的为什么我不能检查我的数组数组是否包含特定的数组?全部内容,希望文章能够帮你解决为什么我不能检查我的数组数组是否包含特定的数组?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)