3

我终于将应用程序更新到 Xcode 4.5 和 ARC。我有几个问题。在代码中的几个点,我CFRelease()用于函数返回的值CFxxCopyxx()

但是,有了CFRelease(),我得到了一个

*** -[CFURL 类]:在运行时发送到已释放实例的消息。

如果我删除CFRelease(),我会收到有关 Object leaked 的编译警告,这对我来说很有意义。我错过了什么?

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