Coc*_*Dev 0 cocoa-touch objective-c nsmutablearray abrecord
我收到一个错误:
将C指针类型'ABRecordRef'(又名'const void*')隐式转换为Objective-C指针类型'id'需要桥接转换
从这段代码,尝试添加ABRecordRef一个NSMutableArray
ABRecordRef person = (__bridge ABRecordRef)[contactArr objectAtIndex:i];
[addressBookArray addObject:person];
Run Code Online (Sandbox Code Playgroud)
addressBookArray 被定义为
NSMutableArray *addressBookArray;
Run Code Online (Sandbox Code Playgroud)
正如错误消息所示,您需要重新构建对象,以便将其重新放入NSMutableArray:
ABRecordRef person = (__bridge ABRecordRef)[contactArr objectAtIndex:i];
[addressBookArray addObject:(__bridge ABRecord *)person];
Run Code Online (Sandbox Code Playgroud)
ABRecord是对应的ObjC类ABRecordRef; 它们是免费的桥接器,所以它们可以互换用于此目的.
注意: ABRecord仅在OS X上可用.如果您在iOS上并且设法将这些ABRecordRefs设置为NSArray首先,您将不得不id用于重新投射
[addressBookArray addObject:(__bridge id)person];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |