我正在尝试使用Xcode 4为Cocoa构建基于文档的应用程序,并遇到了一个奇怪的问题。
到目前为止,我所做的就是创建一个基于空文档的应用程序。我检查了“使用核心数据”,“使用自动引用计数”,“包含单元测试”和“包含Spotlight导入程序”选项。
我可以运行应用程序,但是当我切换到另一个应用程序(例如Finder)时,主函数会出现以下GDB异常。
线程1:编程接收信号:“EXC_BAD_ACCESS”。
有什么想法吗?
谢谢, 艾伦
答案 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
}