Sobes.tech
Junior — Middle

როგორ დავადგინოთ, რომელი ობიექტები შეიძლება დაემატოს ლექსიკონის ტიპის მონაცემთა სტრუქტურას?

sobes.tech AI

პასუხი AI-სგან

iOS (Swift)-ში, ობიექტის გამოყენებისთვის როგორც გასაღები ლექსიკაში (Dictionary), ის უნდა შეესაბამებოდეს Hashable პროტოკოლს. ეს ნიშნავს, რომ ობიექტს უნდა ჰქონდეს უნიკალური ჰეშ-კოდი და ის უნდა იყოს შედარებადი თანასწორობისთვის.

მაგალითად, სტანდარტული ტიპები, როგორიცაა String, Int, UUID, უკვე შეესაბამება Hashable-ს და შეიძლება იყოს ლექსიკის გასაღებები. პერსონალიზებული ტიპები უნდა იყოს მკაფიოდ Hashable:

struct Person: Hashable {
    let id: Int
    let name: String
}

let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]

თუ ობიექტი არ შეესაბამება Hashable-ს, მას нельзя გამოიყენოთ როგორც გასაღები ლექსიკაში. ლექსიკის მნიშვნელობები შეიძლება იყოს ნებისმიერი ტიპის.