0

エラーが発生しました:

Cポインタ型'ABRecordRef'(別名'const void *')からObjective-Cポインタ型'id'への暗黙の変換にはブリッジキャストが必要です

このコードから、にを追加しようとしてABRecordRefいますNSMutableArray

ABRecordRef person = (__bridge ABRecordRef)[contactArr objectAtIndex:i];
[addressBookArray addObject:person];

addressBookArrayと定義されている

NSMutableArray *addressBookArray;
4

1 に答える 1

5

NSMutableArrayエラーメッセージにあるように、オブジェクトを:に戻すには、オブジェクトを再キャストする必要があります。

ABRecordRef person = (__bridge ABRecordRef)[contactArr objectAtIndex:i];
[addressBookArray addObject:(__bridge ABRecord *)person];

ABRecordABRecordRef;に対応するObjCクラスです。これらはフリーダイヤルでブリッジされているため、この目的のために交換可能です。


注: OS Xでのみ利用可能です。iOSを使用していて、そもそもそれらをなんとかして取得できた場合は、再キャストに使用する必要がABRecordありますABRecordRefNSArrayid

[addressBookArray addObject:(__bridge id)person];
于 2012-05-02T19:33:14.503 に答える