我有一个基于在这个论坛上找到的代码的例程:
+ (FSRef)useOpenFileToGetFSRef:(NSString **)fileName requiredFileType: (NSString*) requiredFileType
{
FSRef fileFSRef;
NSArray* fileTypes = [[NSArray alloc] initWithObjects:requiredFileType, nil];
//http://stackoverflow.com/questions/11815784/objective-c-nsopenpanel-get-filename
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
[openDlg setFloatingPanel:YES];
[openDlg setCanChooseDirectories:NO];
[openDlg setCanChooseFiles:YES];
[openDlg setAllowsMultipleSelection:YES];
[openDlg setAllowedFileTypes:fileTypes];
if ( [openDlg runModal] == NSOKButton ) //<== CRASHES ON CALL TO runModal
{
NSArray* filePaths = [openDlg URLs];
//only getting 1st file
NSURL *fileUrl = [filePaths objectAtIndex:0];
*fileName = [fileUrl path];
CFURLGetFSRef((CFURLRef)fileUrl, &fileFSRef);
}
return fileFSRef;
}
该应用程序在调用 runModel 时反复出现问题:
这有什么可以解释的?
非常感谢大家提供任何信息。
系统信息:OS X 10.8.4。使用 ARC 编译。