สวิฟท์ 3:
คุณสามารถใช้ Swifts ในฟังก์ชันการทำงานเพื่อค้นหาวัตถุที่กำหนดเองใน Array
ก่อนอื่นคุณต้องตรวจสอบให้แน่ใจว่าวัตถุที่กำหนดเองของคุณเป็นไปตาม: โปรโตคอลที่เท่าเทียมกัน
class Person : Equatable { //<--- Add Equatable protocol
let name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
//Add Equatable functionality:
static func == (lhs: Person, rhs: Person) -> Bool {
return (lhs.name == rhs.name)
}
}
ด้วยฟังก์ชั่น Equatable ที่เพิ่มให้กับวัตถุของคุณ Swift จะแสดงคุณสมบัติเพิ่มเติมที่คุณสามารถใช้กับอาเรย์:
//create new array and populate with objects:
let p1 = Person(name: "Paul", age: 20)
let p2 = Person(name: "Mike", age: 22)
let p3 = Person(name: "Jane", age: 33)
var people = [Person]([p1,p2,p3])
//find index by object:
let index = people.index(of: p2)! //finds Index of Mike
//remove item by index:
people.remove(at: index) //removes Mike from array