2016-05-23 23 views
0

Gibt es eine Möglichkeit, Schlüssel/Wert-Paare in Swift-Wörterbüchern zu verwenden? Ich würde lieber einen Namen anstelle einer Indexnummer verwenden, um entweder auf den Schlüssel oder den Wert zu verweisen.Benannte Schlüssel/Wert-Paare in Swift-Wörterbüchern

Leider behandelt key/value pairs by name in Dictionary in Swift nur die Bezugnahme auf die Schlüssel und Werte in einer for-Schleife. Ich möchte den Schlüsseln und Werten einen Namen geben, wenn ich sie in den Typalien deklariere, damit sie immer mit ihren Namen bezeichnet werden können.

Bitte sehen Sie den Kommentar im folgenden Code-Schnipsel zu zeigen, was ich meine:

typealias CalendarRules = [EKCalendar : [String]] 
let calendarRules = buildCalendarRules() // builds the array. 
let firstCalendarRule = calendarRules.first 
print(firstCalendarRule.0)  // I'd like to write: print(firstCalendarRule.cal) 
print(firstCalendarRule.1)  // I'd like to write: print(firstCalendarRule.theString) 

Antwort

1

Das hat nichts mit Wörterbüchern zu tun, außer sehr indirekt; und Ihr CalendarRules-Typ-Alias ​​ist irrelevant. Ihr firstCalendarRule ist kein Wörterbuch; es ist ein Tupel. Sie sind frei, die Mitglieder eines Tupels zu benennen:

typealias Rule = (cal:String, string:String) 
let d = ["I am a calendar":"I am a string"] 
let firstRule : Rule = d.first! 
print(firstRule.cal) // I am a calendar