我FSCopyObjectAsync
用来在 Cocoa 应用程序中复制文件。问题是,每当我尝试设置info
字段(类型的对象void *
)时,应用程序都会因为EXEC_BAD_ACCESS
. 我不确定我做错了什么。
这是我的代码:
// Start the async copy.
FSFileOperationClientContext *clientContext = NULL;
if (spinner != nil) {
clientContext->info = (__bridge void *)(spinner); // <- Problem here!
}
status = FSCopyObjectAsync(fileOp,
&source,
&destination, // Full path to destination dir.
CFSTR("boot.iso"), // Copy with the name boot.iso.
kFSFileOperationDefaultOptions,
copyStatusCallback,
0.5, // How often to fire our callback.
clientContext); // The progress bar that we want to use to update.
CFRelease(fileOp);
我正在使用 ARC,如果我注释掉处理的行clientContext
并传入NULL
的最后一个参数,它就可以工作FSCopyObjectAsync
,但这会严重削弱我的应用程序的功能。因此,这绝对是作业造成的。