有时我的应用程序会在CFRelease(theURL);
CFURLRef theURL = CFURLCreateFromFSRef( kCFAllocatorDefault, inRef );
NSString *currentPath = [(NSURL *)theURL path];
CFRelease(theURL);
Thread 0 Crashed:
0 com.apple.CoreFoundation 0x92a53354 CFRelease + 36
为什么呢?
创建规则
Core Foundation函数的名称表明您拥有的时间 返回的对象:
在名称中嵌入“创建”的对象创建函数; 对象复制函数,名称中嵌入了“复制”。如果 你拥有一个物体,你有责任放弃所有权 (完成后使用CFRelease)。
答案 0 :(得分:5)
当CFRelease
参数为NULL
时,函数将崩溃。检查从CFURLCreateFromFSRef
返回的值。