Sobes.tech
Junior

Τι μπορεί να είναι ένα κλειδί και μια τιμή για ένα λεξικό;

sobes.tech AI

Απάντηση από AI

Στο iOS (Swift), ένα λεξικό (Dictionary) είναι μια συλλογή από ζεύγη "κλειδί-τιμή".

  • Το κλειδί μπορεί να είναι οποιοδήποτε τύπο που συμμορφώνεται με το πρωτόκολλο Hashable. Αυτό σημαίνει ότι το κλειδί πρέπει να μπορεί να υφίσταται hashing για γρήγορη αναζήτηση. Για παράδειγμα, String, Int, UUID και άλλοι τυπικοί τύποι.

  • Η τιμή μπορεί να είναι οποιουδήποτε τύπου, συμπεριλαμβανομένων δομών, κλάσεων, primitive ή ακόμα και άλλων συλλογών.

Παράδειγμα:

var dict: [String: Int] = ["apple": 3, "banana": 5]

// Κλειδί — String (hashable), τιμή — Int

// Μπορούν επίσης να χρησιμοποιηθούν προσαρμοσμένοι τύποι αν συμμορφώνονται με το `Hashable`:
struct User: Hashable {
    let id: Int
    let name: String
}

var userScores: [User: Double] = [:]

Είναι σημαντικό τα κλειδιά να είναι αμετάβλητα και hashable, ώστε το λεξικό να λειτουργεί σωστά.