Sobes.tech
Junior — Middle

Sözlüklərlə işləyərkən istifadəçi obyektlərinin açar kimi istifadəsini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

İstifadəçi obyektlərini lüğətlərdə açar kimi istifadə etmək üçün (məsələn, Swift Dictionary-də), bu obyektlərin HashableEquatable protokollarına uyğun olması lazımdır.

Bu, sinif və ya strukturun obyektlərin hash dəyərini hesablamaq və bərabərliyi yoxlamaq üçün metodlar tətbiq etməsini tələb edir.

Swift-də nümunə:

struct User: Hashable {
    let id: Int
    let name: String

    func hash(into hasher: inout Hasher) {
        hasher.combine(id)
    }

    static func == (lhs: User, rhs: User) -> Bool {
        return lhs.id == rhs.id
    }
}

var dict: [User: String] = [:]
let user1 = User(id: 1, name: "Alice")
dict[user1] = "Admin"

Bu nümunədə, lüğətin açarı User obyektidir və id ilə unikal şəkildə müəyyən edilir. hash(into:)== tətbiqi obyektlərin düzgün saxlanması və axtarışı üçün imkan verir.