在窗口之间切换时,基于文档的应用程序崩溃

时间:2011-12-22 09:02:20

标签: objective-c xcode cocoa exception gdb

我正在尝试使用Xcode 4为Cocoa构建基于文档的应用程序,并遇到了一个奇怪的问题。

到目前为止,我所做的就是创建一个基于空文档的应用程序。我检查了“使用核心数据”,“使用自动引用计数”,“包含单元测试”和“包含Spotlight导入程序”选项。

我可以运行应用程序,但是当我切换到另一个应用程序(例如Finder)时,主函数会出现以下GDB异常。

  

线程1:编程接收信号:“EXC_BAD_ACCESS”。

有什么想法吗?

谢谢, 艾伦

1 个答案:

答案 0 :(得分:0)

问题在于,无论何时切换到另一个窗口,应用程序都会尝试保存自身并在非空闲时恢复所有数据。
但是你还没有真正实现这些方法:

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError

确实存在实现,但最新版xcode的默认行为是抛出异常,因为方法没有真正实现。
您所要做的就是拒绝自动保存:

+ (BOOL)autosavesInPlace
{
    return NO;  // it won't try to autosave when you switch to another window
}
相关问题