Vik*_*ikR 3 xcode cocoa nsopenpanel
我有一个基于此论坛上的代码的例程:
+ (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;
}
Run Code Online (Sandbox Code Playgroud)
该应用程序可以重复调用runModel:

有什么可以解释这个?
非常感谢所有人提供任何信息.
系统信息:OS X 10.8.4.使用ARC编译.
我实际上认为你在所有例外都有一个断点.我刚碰到这个并且正在寻找原因.我遇到了这篇文章,但随后发现了以下内容.
使用Xcode 4.5.1进行调试时,NSOpenPanel崩溃
重新创建项目时,断点已重置.