我爲CNContact
一個數組,我使用此功能對它們進行排序:字典有可選的關鍵
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()
哪裏contactDictionary的類型爲:
var contactDictionary: [String: [CNContact]] = [String: [CNContact]]()
var keys: [String] = []
現在,當我看到contactDictionary時它充滿了它的作品,除了鑰匙總是Optional(\"T"\")
或其他一些信件當然。但爲什麼它是可選的? forloop的關鍵不是可選的,所以這是怎麼回事?
集合的第一個屬性是可選類型,所以你可能在這裏得到可選的'contactName.characters.first'檢查一次。 –
謝謝你解決了這個問題。 – user1007522
我當然會。前進。 – user1007522