我使用NSArray
的indexesOfObjects(passingTest :),但是在將我的代碼轉換爲Swift 3我得到錯誤:「模糊使用'indexOfObject(passingTest :)'」。 我的代碼在Swift 2.3中可以正常工作。經過Swift 3轉換後,我無法擺脫錯誤:「模糊使用'indexOfObject(passingTest :)'」
let indexesOfBubbleConstraints = bubbleConstraints.indexesOfObjects(passingTest: { (constraint, idx, stop) in
if let view = constraint.firstItem as? UIView{
return view.tag == usernameTag
}
else{
return false
}
})
對於斯威夫特3,我也只好投constraint
到AnyObject
,但這並不解決實際問題。
我結束了使用func indexesOfObjects(options: NSEnumerationOptions = [], passingTest: (Any, Int, UnsafeMutablePointer<ObjCBool>) -> Bool)
與一個空陣列的選項如下。這有效,但我仍然不明白爲什麼我得到我的原始實施「曖昧......」錯誤。
let indexesOfBubbleConstraints = bubbleConstraints.indexesOfObjects(options: [], passingTest: { (constraint, idx, stop) in
if let view = (constraint as AnyObject).firstItem as? UIView{
return view.tag == usernameTag
}
else{
return false
}
})
大詳細的解答!我也很感謝你最後的評論,並且一定會按照你的建議去做。 – Stephan