现在,我想要能够查看一个对象是否包含在一个Array
中:
func isIncluded<U:Comparable>(isIncluded : U) -> Bool
{
for item in self
{
if (item == isIncluded)
{
return true
}
}
return false
}
如果你注意到这个函数属于一个
Array
扩展。问题是如果将它添加到这里:extension Array{
}
我收到以下错误信息:
找不到接受提供的参数的'=='的重载
Array
中应该包含什么类型的对象,例如:T[] <T.GeneratorType.Element: Comparable>
。但是它也不起作用:
块语句是未使用的闭包
非名义类型“T []”不能被扩展
扩展中缺少'{'
theArray.contains(element)
而不是contains(theArray,element)
。 - Rui Peresif item == (i as? T)
,以便在类型不匹配数组项类型时不会崩溃。此外,此方法不适用于可选对象的数组(即String?[]
)。 - John Estropia