__bridge在没有弧的情况下崩溃,但必须在没有弧的情况下使用

时间:2014-05-15 19:48:00

标签: ios xcode automatic-ref-counting

我在iOS中使用nsxml解析,这意味着我必须关闭arc。但是,添加联系人需要使用__bridge,这会导致使用不带弧的ABRecordCopyCompositeName导致崩溃。我如何避免使用arc但仍然可以检查地址簿以获得类似的条目?

ABRecordRef thisContact = (__bridge ABRecordRef)record;
//NSString *contact = (__bridge_transfer NSString *)(ABRecordCopyCompositeName(ref));
CFRelease(thisContact);

if (CFStringCompare(ABRecordCopyCompositeName(thisContact), ABRecordCopyCompositeName(pet), 0) == kCFCompareEqualTo){
//this checks if there is a previous contact with that name

1 个答案:

答案 0 :(得分:2)

如果您不使用ARC,则不需要__bridge。您可能仍需要类型转换,即(ABRecordRef)而不是(__bridge ABRecordRef)。这是__bridge的定义。它仅用作ARC的一部分。