2013-05-27 171 views
0

的main.m試圖運行我的應用程序

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return 
     UIApplicationMain 
     (argc, 
     argv, 
     nil, 
     NSStringFromClass 
     ([AppDelegate class])); 
    } 
} 

調試器說,錯誤是在「NSStringFromClass」行,當我得到一個「終止因未捕獲的異常‘NSRangeException’」的消息。 我不知道這意味着什麼,請幫助我! :/

+0

上述代碼無用。放置一個斷點並準確找到引發異常的位置。發佈崩潰日誌。當您訪問超出數組限制的元素時,通常會發生NSRangeException。 –

+0

2013-05-27 00:30:45.182 ReadNow [53528:c07] ***由於未捕獲異常'NSRangeException',原因:'*** - [__ NSCFString substringToIndex:]:範圍或索引超出範圍' ***第一擲調用堆棧: (0x1e4f012 0x1331e7e 0x1e4edeb 0xd66089 0x9541 0x3bc4 0x45ac4e 0x45d224 0x321952 0x3212dc 0x35f4 0x4db853f 0x4dca014 0x4dba7d5 0x1df5af5 0x1df4f44 0x1df4e1b 0x20877e3 0x2087668 0x275ffc 0x266d 0x2595) 的libC++ abi.dylib:終止叫做拋出異常 –

+0

你使這個應用程序的iOS 5和iOS 6都? ARC是否啓用。? – mAc

回答

0

通常,當您使用NSArray或NSMutableArray時發生NSRangeException,並且想要使用超出數組範圍的值。我不認爲這是在你提到行問題

0

的文檔是here

- (NSString *)substringToIndex:(NSUInteger)anIndex 

這裏的anIndex值必須位於接收器的範圍內,或等於長度收件人。

0

NSRangeException - 這意味着你已經超出了數組的邊界。 您粘貼的代碼沒有任何錯誤。當xcode獲取任何未捕獲的異常時,它將顯示main.m文件,但這並不意味着錯誤在該文件或行中。

檢查出現此錯誤的視圖的控制器文件。可能你正試圖訪問一個數組。例如。在tableView中,如果您使用任何NSArrayNSMutableArray來顯示內容,並且您返回numberOfRowsInSection:多於該數組的總數,則會出現此錯誤。

0

如前所述,錯誤不在您粘貼的代碼中。但是,您可以輕鬆找到包含錯誤的代碼行:
在XCode的左列中打開斷點導航器。然後點擊左下角的加號。在出現的上下文菜單中,選擇「添加異常斷點」。
如果您現在運行啓用breakpojnts的代碼,則調試器將停在遇到錯誤的那一行,並且您可以輕鬆地檢查你的rnge變量。

相關問題