ในแอปพลิเคชันของฉันฉันเพิ่มวัตถุหนึ่งชิ้นในอาร์เรย์เมื่อเลือกเซลล์และยกเลิกการเลือกและลบวัตถุเมื่อเลือกเซลล์ใหม่ ฉันใช้รหัสนั้น แต่ให้ข้อผิดพลาด
extension Array {
func indexOfObject(object : AnyObject) -> NSInteger {
return (self as NSArray).indexOfObject(object)
}
mutating func removeObject(object : AnyObject) {
for var index = self.indexOfObject(object); index != NSNotFound; index = self.indexOfObject(object) {
self.removeAtIndex(index)
}
}
}
class MyViewController: UITableViewController {
var arrContacts: [Any] = []
var contacts: [Any] = []
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
arrContacts.removeObject(contacts[indexPath.row])
}
}
มันทำให้ฉันมีข้อผิดพลาด 2 ข้อดังนี้:
C-style for statement has been removed in Swift 3
Value of type '[Any]' has no member 'removeObject'
Set<Contact>
แทน Array ได้ คุณสามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับวัตถุติดต่อของคุณได้หรือไม่? หากคุณสร้างมันขึ้นมาเองคุณจะต้องใช้มันเพื่อให้สอดคล้องHashable
และEquatable
เพื่อที่จะใส่ไว้ในชุด