Junior — Middle
Lüğətdə açar kimi istifadə edilə bilən obyektlərin hansı şərtlərə və xüsusiyyətlərə malik olması lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Obyektin lüğətdə (məsələn, NSDictionary və ya Swift Dictionary) açar kimi istifadə edilə bilməsi üçün aşağıdakı şərtləri ödəməlidir:
- Hashlenebilirlik: obyekt düzgün şəkildə həyata keçirilmiş hash hesablamasına malik olmalıdır (
hashSwift-də,hashValuevə yahash(into:)), beləliklə, lüğət açarı tez tapa bilər. - Bərabərlik üçün müqayisə: obyekt düzgün şəkildə
isEqual(Objective-C-də) və yaEquatable(Swift-də) metodunu həyata keçirməlidir ki, lüğət müxtəlif açarları ayıra bilsin.
Məsələn, Swift-də xüsusi tipdən istifadə etmək üçün Hashable və Equatable protokollarını həyata keçirmək lazımdır:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Beləliklə, obyektlər hash və müqayisədə iştirak edən sahələrdə dəyişməz olmalıdır ki, açarlar lüğətdə sabit qalsın.