Я знаю, что это старый вопрос, но после введения ARC , это обрабатывается по-другому.
Существует два возможных способа добавления ABRecordRef
кNSMutableArray
сейчас, оба из которых требуют мостового приведения:
Прямое преобразование
[bContacts addObject:(__bridge id)(ref)];
Это просто преобразует указатель ABRecordRef
, и его следует использовать, если вы не создали ref
самостоятельно, используя метод с Create
в названии.
Передайте право собственности на ARC
[bContacts addObject:CFBridgingRelease(ref)];
Это преобразуетуказатель ABRecordRef
и, кроме того, передает свое владение ARC.Это следует использовать, если вы использовали, например, ABPersonCreate()
для создания нового человека.
Дополнительную информацию можно найти в Переход к примечаниям к выпуску ARC .Есть также много других информативных источников здесь о переполнении стека, таких как этот вопрос .