Ich bin ein Array von CNContact
hat und ich sie mit dieser Funktion sortieren:Wörterbuch hat optionale Schlüssel
for contact in self.contacts {
var contactName = contact.organizationName
let key: String = String(contactName.characters.first).uppercaseString
if let arrayForLetter = self.contactDictionary[key] {
self.contactDictionary[key]!.append(contact)
self.contactDictionary.updateValue(arrayForLetter, forKey: key)
} else {
self.contactDictionary.updateValue([contact], forKey: key)
}
}
self.keys = self.contactDictionary.keys.sort()
Wo contactDictionary vom Typ:
var contactDictionary: [String: [CNContact]] = [String: [CNContact]]()
var keys: [String] = []
Nun, wenn ich die contactDictionary sehen, wenn es ist gefüllt, es funktioniert, außer der Schlüssel immer Optional(\"T"\")
oder ein anderer Brief natürlich. Aber warum ist es optional? Der Schlüssel im Forloop ist nicht optional, also wie kommt das?
'first' Eigenschaft der Sammlung ist von optionalem Typ, so erhalten Sie optional wahrscheinlich hier' contactName.characters.first' Überprüfen Sie einmal. –
Danke, das hat das Problem behoben. – user1007522
Natürlich würde ich. Gehen Sie geradeaus. – user1007522