舊版本的代碼之前的XCode 7 Beta 3的:的XCode 7 Beta 3的 - 陣列擴展
extension Array {
func filterByIndex<S: SequenceType where S.Generator.Element == Int>(indices: S) -> [T] {
return Array(PermutationGenerator(elements: self, indices: indices))
}
func find(includedElement: T -> Bool) -> Int? {
for (idx, element) in self.enumerate() {
if includedElement(element) {
return idx
}
}
return nil
}
}
的XCode 7 Beta 3中後,新的代碼版本:
extension Array {
func filterByIndex<S: SequenceType where S.Generator.Element == Int>(indices: S) -> [Element] {
return Array(PermutationGenerator(elements: self, indices: indices))
}
func find(includedElement: Element -> Bool) -> Int? {
for (idx, element) in self.enumerate() {
if includedElement(element) {
return idx
}
}
return nil
}
}
但現在的功能filterByIndex給我一個錯誤,當我寫這行:
let names = (namesArr as! [String]).filterByIndex(dupes)
「[字符串]」沒有一個名爲成員的網絡連接lterByIndex'
什麼變化?
我同意@Arkku,代碼似乎工作得很好。我猜如果你可以給一個'namesArr'和'dupes'的例子,這可能有助於縮小問題的範圍(並確保包括這些類型)。 – justinpawela