3

私はついにアプリケーションをXcode4.5とARCに更新しています。いくつか問題があります。コードのいくつかのポイントで、関数CFRelease()によって返される値に使用しますCFxxCopyxx()

ただし、を使用するとCFRelease()

***-[CFURLクラス]:実行時に割り当て解除されたインスタンスに送信されるメッセージ。

を削除するとCFRelease()、オブジェクトのリークに関するコンパイル警告が表示されます。これは私にとって意味があります。私は何が欠けていますか?

char path[PATH_MAX]={0};
CFBundleRef mainBundle = CFBundleGetMainBundle();
if (NULL != mainBundle)
{
    CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
    if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
    {
        NSLog(@)"CFURLGetFileSystemRepresentation() failed.\n");
    }
    CFRelease(resourcesURL);
}else
{
    NSLog(@"CFBundleGetMainBundle() failed.\n");
}
4

0 に答える 0