我正在使用ABAddressbook.I创建了ABRecordref。我想将它添加到一个可变数组中。它已成功添加。但是有一个警告
传递'addObject:'的参数1,从指针目标类型
中丢弃限定符让我知道这个警告的原因,请给我解决方案。 提前致谢
答案 0 :(得分:0)
ABRecordRef不是objc类型。它是一个不透明的类型,typedeffed为void*
。
在这些情况下,您必须将其强制转换为适当的兼容类型。例如,NSString和CFString是免费桥接的 - 将它们转换为ns / cf等效物是安全的。
文档说明ABRecordRef
与ABRecord
免费桥接,所以你写的是:
ABRecordRef record = MONGetTheRecord(arg);
[array addObject:(ABRecord*)record];
...
为了正确地将其类型转换为objc类型(addObject:
作为其参数)。