2011-02-09 67 views
3

我有一個相當簡單的應用程序使用核心數據,和幾個數組控制器(在IB中,沒有他們的代碼文件,除了xcdatamodel文件)。當我運行我的應用程序,我得到以下錯誤日誌中(應用程序仍然運行,但沒有顯示窗口,直到我轉到文件>新建文檔):NSCF陣列超出界限?

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; 
} 
+0

在`-applicationShouldOpenUntitledFile:`中發佈您正在使用的代碼。 – 2011-02-09 03:22:30

回答

1

對不起,張貼在這裏,我沒有現在到處都有評論的權利。

@ Zakman411:Justin在說你應該在Run菜單中啓用「Stop on Objective-C Exceptions」項,然後啓動調試器。 gdb應該告訴你在哪裏拋出異常。