私の古いプロジェクトをARCに変換しようとしています。私は、UUIDを作成する機能を持っていませんが、ARCを使用する際に明らかにこれはもはやサポートされています。NSMakeCollectableとARCが機能しない
NSString *uuid = nil;
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID) {
uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
//[uuid autorelease];
CFRelease(theUUID);
}
私はコンパイラエラー(変換しようとして)を取得:「NSMakeCollectable」は使用できません:自動参照カウントでは使用できませんモード。
私の質問は、どのようにARCを使用する際にUUIDを作成するのですか?私は今使用すべき別の方法がありますか?
これは、 'Create'呼び出しから追加された' CFRetain'を持っているため、UUIDがリークします。 –
CFReleaseを使用して – IPaPa
CFをリリースすることができます。これをARC 'id'に割り当てました。これはもはや' CFRelease() 'に直接渡すことはできません。あなたはそれをもう一度キャストできますが、それはARCと戦っています。これは 'CFBridgingRelease()'とそれに相当する '__bridge_transfer'が作成するものです。 –