App crashing while fetching contact numbers from iPhone in SWIFT

谁说胖子不能爱 提交于 2019-12-06 16:44:11

Try; this should solve your problem.

var addressBookRef: ABAddressBookRef = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()

var arrOfDictContacts:NSMutableArray = NSMutableArray()

let people:NSArray = ABAddressBookCopyArrayOfAllPeople(addressBookRef).takeRetainedValue();

for person in people{
        if  let name:String = ABRecordCopyValue(person, kABPersonFirstNameProperty)?.takeRetainedValue() as? String {
            let numbers:ABMultiValue = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()

//                if (ABMultiValueGetCount(numbers) > 0) {  //This condition is optional because using '?' before calling takeRetainedValue
                if let number:String = ABMultiValueCopyValueAtIndex(numbers,0)?.takeRetainedValue() as? String {
                    println("number = \(number)");
                    arrOfDictContacts.addObject(["\(name)":"\(number)"]);
                }
//                }
        }
}
//--
println(arrOfDictContacts);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!