Swift 3:
Bạn có thể sử dụng Swifts tích hợp trong chức năng để tìm các đối tượng tùy chỉnh trong Mảng.
Trước tiên, bạn phải đảm bảo đối tượng tùy chỉnh của mình tuân thủ giao thức : Tương đương .
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)
}
}
Với chức năng Equitable được thêm vào đối tượng của bạn, Swift sẽ hiển thị cho bạn các thuộc tính bổ sung mà bạn có thể sử dụng trên một mảng:
//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