首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“二进制运算符'<‘不能应用于两个CFIndex操作数”--从ABMultiValue (地址簿)中选择一个电话号码

“二进制运算符'<‘不能应用于两个CFIndex操作数”--从ABMultiValue (地址簿)中选择一个电话号码
EN

Stack Overflow用户
提问于 2015-06-30 04:27:41
回答 1查看 136关注 0票数 0

我试图使用AddressBook和AddressBookUI来显示地址簿的视图,用户可以点击联系人,然后点击电话号码,然后应用程序接收电话号码。当我遍历ABMultiValue以查找带有所选标识符的条目时,我遇到了一个问题--在使用for循环(第13行)的行中会出现"Binary operator '<' cannot be applied to two CFIndex operands“错误。

我已经粘贴了下面的代码--有人知道为什么会发生这种情况吗?我能做些什么来修复它呢?谢谢!

代码语言:javascript
复制
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)
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 04:33:51

只需循环使用正常数字:

代码语言:javascript
复制
for index in 0 ..< ABMultiValueGetCount(numbers) {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31129559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档