我有一个使用 Core Data 的相当简单的应用程序和几个数组 Controller (在 IB 中,除了 xcdatamodel 文件之外,没有它们的代码文件)。当我运行我的应用程序时,我在日志中收到以下错误(应用程序仍在运行,但在我转到"file">“新建文档”之前没有窗口出现):
2011-02-08 18:45:10.434 MyApp[35178:a0f] *** -[NSCFArray objectAtIndex:]: 索引 (0) 超出范围 (0
)
我的 myDocument.h 或 .m 文件中没有对数组的引用。该错误并不严重(应用程序仍在运行),但它会禁用我的一些代码来加载上次使用的文档或(如果不存在)加载新文档。该应用程序只是在没有可见窗口的情况下加载。我将非常感谢对此的一些帮助,并会尽快给予答复:)
编辑:这是 applicationShouldOpenUntitledFile 代码:
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
{
NSArray* urls = [[NSDocumentController sharedDocumentController] recentDocumentURLs];
if ([urls count] > 0){
NSURL *lastURL= [urls objectAtIndex: 0];
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:lastURL display:YES error:nil];
return NO;
}
return YES;
}
最佳答案
抱歉在这里发帖,我暂时没有权利到处评论。
@Zakman411:Justin 说您应该启用“运行”菜单中的“出现 Objective-C 异常时停止”项,然后启动调试器。 gdb 应该会告诉您异常抛出的确切位置。
关于objective-c - NSCF 阵列越界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4940916/