小编Rin*_*nat的帖子

iOS bridge vs bridge_transfer

我很困惑与bridgebridge_transfer,这是正确的?

-(void)getData{
    ABAddressBookRef addressBook = ABAddressBookCreate();
    NSArray *allPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook);

    NSString *name;
    for ( int i = 0; i < [allPeople count]; i++ )
    {
        name = (__bridge_transfer NSString *) ABRecordCopyValue((__bridge ABRecordRef)[allPeople objectAtIndex:i], kABPersonFirstNameProperty);
    }
    CFRelease(addressBook);
    allPeople = nil;
}
Run Code Online (Sandbox Code Playgroud)

有没有人可以解释我如何使用它们?

objective-c ios automatic-ref-counting

33
推荐指数
2
解决办法
2万
查看次数

LinkedIn SDK重复符号

我下载了最新的LinkedIn SDK并添加到我的项目中,但构建失败

重复符号_OBJC_METACLASS _ $ _ PodsDummy_Pods in:/linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o)/Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o) duplicate symbol _OBJC_CLASS _ $ _ PodsDummy_Pods in: /linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o)/Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o)ld:2个用于体系结构x86_64 clang的重复符号:error:linker命令退出代码1失败(使用-v查看调用)

有谁知道如何修理它?

linkedin ios cocoapods

7
推荐指数
1
解决办法
2962
查看次数

iOS无法获得人的形象

我有两个tableViewControllers.第一个有联系人列表.另一个显示详细的人的信息.

第一个tableViewController的一大块代码

ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
NSArray *allPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source,kABPersonSortByFirstName);
for ( int i = 0; i < [allPeople count]; i++ )
{
    ...
    contactClass = [[ContactClass alloc] initWithName:name surName:surName manID:[allPeople objectAtIndex:i]];
    ...
}
Run Code Online (Sandbox Code Playgroud)

第二个tableViewController的代码块

ABRecordRef person = (__bridge  ABRecordRef)contactClass.manID;
BOOL isHasImage = ABPersonHasImageData(person);
Run Code Online (Sandbox Code Playgroud)

变量isHasImage始终为false,即使联系人具有头像.我甚至在第一个tableViewController上检查了这个,如果有人有头像,那么它返回true和image.

有谁知道为什么我不能得到联系人图像?

ps contactClass.manID是的类型id.它有一个正确的地址,因为ABMultiValueRef multiValue = ABRecordCopyValue((__bridge ABRecordRef)contactClass.manID, kABPersonPhoneProperty);在第二个tableViewController中返回正确的值

addressbook ios

4
推荐指数
1
解决办法
3598
查看次数