"Двоичный оператор" <"нельзя применить к двум операндам CFIndex" - выбор номера телефона из ABMultiValue (адресная книга)
Я пытаюсь использовать AddressBook и AddressBookUI, чтобы показать вид адресной книги, где пользователь может затем нажать на контакт, а затем номер телефона, и приложение получит номер телефона. У меня проблема, когда я перебираю ABMultiValue, пытаясь найти запись с выбранным идентификатором - ошибка "Binary operator '<' cannot be applied to two CFIndex operands
"поднят на линии с for
петля (строка 13).
Я вставил приведенный ниже код - кто-нибудь знает, почему это происходит / что я могу сделать, чтобы это исправить? Спасибо!
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, didSelectPerson person: ABRecord!, property: ABPropertyID, identifier: ABMultiValueIdentifier) {
self.peoplePickerNavigationController(peoplePicker, shouldContinueAfterSelectingPerson: person, property: property, identifier: identifier)
// Get name
// If wanting a composite name including prefix, suxif, title, both names etc:
// NSString *contactName = CFBridgingRelease(ABRecordCopyCompositeName(person));
let contactName = ABRecordCopyValue(person, kABPersonFirstNameProperty)
// Get number
var number = String()
let numbers = ABRecordCopyValue(person, kABPersonPhoneProperty)
for var index:CFIndex = 0; index < ABMultiValueGetCount(numbers); ++index{
if identifier = ABMultiValueGetIdentifierAtIndex(numbers, index) {
number = ABMultiValueCopyValueAtIndex(numbers, index)
}
}
}
1 ответ
Решение
Просто цикл, используя нормальные числа:
for index in 0 ..< ABMultiValueGetCount(numbers) {