0

連絡先情報を保存するためにこのリンクを使用していますが、ARC には少し問題があると思います。

以下のコードを使用すると、正常に動作します。

ABAddressBookRef libroDirec = ABAddressBookCreate();

ABRecordRef persona = ABPersonCreate();

ABRecordSetValue(persona, kABPersonFirstNameProperty, @"JustTESTING", nil);

一方、以下のコードを使用する と、objective-c ポインター型 nsstring から cpointer 型 'CFTypeRef' への暗黙的な変換でエラーが発生します

NSString * prefName = ref.fName; 

ABAddressBookRef libroDirec = ABAddressBookCreate();

ABRecordRef persona = ABPersonCreate();

ABRecordSetValue(persona, kABPersonFirstNameProperty, prefName, nil);// error in prefName

ありがとう

4

1 に答える 1

1

ARC を満足させるには、キャストを追加する必要があります。

ABRecordSetValue(persona, kABPersonFirstNameProperty, (__bridge CFTypeRef)prefName, nil);

prefNameは でNSString *あり、3 番目のパラメーターには が必要CFTypeRefです。

于 2012-11-19T05:23:32.860 に答える