Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 窗口控制器委托错误_Objective C_Cocoa_Delegates_Nswindowcontroller_Modal Window - Fatal编程技术网

Objective c 窗口控制器委托错误

Objective c 窗口控制器委托错误,objective-c,cocoa,delegates,nswindowcontroller,modal-window,Objective C,Cocoa,Delegates,Nswindowcontroller,Modal Window,我使用此代码在模态视图中显示窗口控制器窗口。我在窗口控制器中为窗口中的按钮执行操作。当我点击按钮时,应用程序崩溃了,没有收到错误消息。我是否设置了代理错误 [[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil]; windowObj将在工作表显

我使用此代码在模态视图中显示窗口控制器窗口。我在窗口控制器中为窗口中的按钮执行操作。当我点击按钮时,应用程序崩溃了,没有收到错误消息。我是否设置了代理错误

[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];

windowObj
将在工作表显示窗口之前取消分配(如果您正在使用,可能是通过ARC)。您应该为用于此操作的任何类添加一个强属性,并将windowObj设置为:

@property (strong) MyWindowController *windowObj;
...
// Instantiate the window controller
self.windowObj = [[windowController alloc] initWithWindowNibName:@"windowController"];
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil]; 

添加异常断点并重试。我们需要一个stacktrace来帮助…我试过了。我没有得到任何异常,它在“返回NSApplicationMain(argc,(const char**)argv);”中停止使用EXC_BAD_ACCESS(code=EXC_1386_GPFLT),您应该能够捕获该异常的根本原因……我认为我们可以使用更多与
windowObj
view
@特洛伊木马存在相关的代码。不,我不能。这是无法修复的主要问题。问题是windowObj正在被解除分配。不需要
[self.windowObj loadWindow]我添加了强属性,它正在工作。谢谢。Usinf
[self.windowObj loadWindow]截取导致另一个问题的窗口委托。从这个角度来看,最好避免这种编码。