【发布时间】:2011-06-23 21:04:39
【问题描述】:
我有一个使用 Core Data 的相当简单的应用程序和几个数组控制器(在 IB 中,除了 xcdatamodel 文件外,没有它们的代码文件)。当我运行我的应用程序时,我在日志中收到以下错误(应用程序仍在运行,但在我转到文件 > 新文档之前没有出现任何窗口):
2011-02-08 18:45:10.434 MyApp[35178:a0f] *** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (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;
}
【问题讨论】:
-
在
-applicationShouldOpenUntitledFile:发布你正在使用的代码。 -
在 Xcode 菜单上按 Run -> Stop On Objective C Exceptions 以追踪它发生的位置。
-
@Bavarious:我编辑了帖子以包含它。但是,即使我将该部分注释掉,也会发生错误..
-
请试试贾斯汀的建议。您发布的代码没有任何问题,并且当您将其注释掉时仍然会发生错误,显然错误不在您认为的位置。
-
@Justin:我没看到那个选项?是 Debug w/ Breakpoints on 吗?
标签: objective-c arrays xcode macos interface-builder