সুইফট 3:
আপনি কোনও অ্যারেতে কাস্টম অবজেক্টগুলি সন্ধান করতে কার্যকার্যে নির্মিত সুইফট ব্যবহার করতে পারেন।
প্রথমে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার কাস্টম অবজেক্টটি: সমতুল্য প্রোটোকলের সাথে সঙ্গতিপূর্ণ ।
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)
}
}
আপনার বস্তুতে সমতুল্য কার্যকারিতা যুক্ত হওয়ার সাথে সাথে, সুইফট এখন আপনাকে অতিরিক্ত বৈশিষ্ট্যগুলি প্রদর্শন করবে যা আপনি অ্যারেতে ব্যবহার করতে পারবেন:
//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