我试图让使用下面的代码触点崩溃:应用程序同时从iPhone获取联系人号码在SWIFT
var addressBook: ABAddressBook!
let addressBookRef: ABAddressBook = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
var arrContacts = [""]
var personNameContactNo:[String: String] = ["":""]
var arrOfDictContacts = NSMutableArray()
var Name: String!
if let people = ABAddressBookCopyArrayOfAllPeople(addressBook)?.takeRetainedValue() as? NSArray {
for person in people{
if let name = ABRecordCopyValue(person, kABPersonFirstNameProperty).takeRetainedValue() as? String {
Name = name
}
let numbers:ABMultiValue = ABRecordCopyValue(
person, kABPersonPhoneProperty).takeRetainedValue()
var number = ABMultiValueCopyValueAtIndex(numbers,0).takeRetainedValue() as! String
println("number = \(number)")
if(number.isEmpty) {
println("empty")
} else {
personNameContactNo.removeAll(keepCapacity: true)
personNameContactNo.updateValue(number, forKey:Name)
arrOfDictContacts.addObject(personNameContactNo)
}
println(personNameContactNo)
}
println(arrOfDictContacts)
}
what am expecting is: ["Arun":"123455"], ["John":"23456122"], etc...
它运行在模拟器不错,但不是在设备上。也许这是由于一些零价值。 应用崩溃与以下信息:fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
你能指定你的代码在哪一行崩溃吗? – Shoaib
我不知道在哪一行,它没有在崩溃时指向 – AAA
尝试在我的答案中发布的代码。 – Shoaib