Швидкий 3:
Ви можете використовувати вбудований функціонал Swifts, щоб знайти власні об’єкти в масиві.
Спочатку ви повинні переконатися, що ваш власний об'єкт відповідає протоколу : Equatable .
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