我在下面的錯誤,這是由該件的下面的代碼引起的:iPhone應用崩潰,因爲「索引0超出界限爲空數組」
錯誤
Terminating app due to uncaught exception 'NSRangeException', reason: ' -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array'
代碼
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
newsDetailView *NieuwsDetailView = [[newsDetailView alloc] init];
[NewsDetailView setAlleItems:newsItems];
[NewsDetailView setCurrentItemId:indexPath.row];
NSLog(@"%@", newsItems);
[self.navigationController pushViewController:NewsDetailView animated:YES]; // This line gives the error
[NewsDetailView release];
}
我有從充滿新聞項目的的UITableView在線XML提要。我正在使用XMLTouch解析。當我點擊某個項目以查看詳細視圖時,它會崩潰。
我google了這個問題,但我確實計數了- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {}
方法中的所有數組項(返回[newsItems count];
)。
另外我正在記錄完整的newsItems數組,正好在崩潰之上。我可以告訴你,這不是空的。
因此,如果它不是行數,而不是一個空數組。它是什麼?
一個奇怪的(?)事情: 我總是得到這個錯誤:「索引超越空陣列的界限」。即使我點擊了第三行或第四行,這會給我一個錯誤,如「索引超出空數組邊界」或其他。上詳細視圖的.m **
- (void)viewDidLoad {
[super viewDidLoad];
[self setTitle:@"News"];
}
- (void)loadView {
[super loadView];
NSString *titel;
NSString *bericht;
NSString *datum;
NSString *foto;
titel = [[newsItems objectAtIndex: currentItemId] objectForKey: @"titel"];
bericht = [[newsItems objectAtIndex: currentItemId] objectForKey: @"bericht"];
datum = [[newsItems objectAtIndex: currentItemId] objectForKey: @"datum"];
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2) {
foto = [[newsItems objectAtIndex: currentItemId] objectForKey: @"fotoRetina"];
} else {
foto = [[newsItems objectAtIndex: currentItemId] objectForKey: @"foto"];
}
// Code I've ommited to keep things clear.
// I created a scrollView and put stuff in it, here. If anybody is interested in seeing this I can update this.
}
// No viewWillAppear, setAlleItems or setCurrentItemId methods
你確定是不是代碼?我看不到'[self.navigationController NewsDetailView動畫:YES];'應該甚至能夠編譯。另一個提示:請使用小寫第一個字母作爲變量,大寫首字母作爲類別。這使得其他人更容易閱讀你的代碼。 – tonklon
我想問題是NewsDetailView的實現。此外,您標記爲有問題的行不是有效的objective-c。 – djromero
@madmw什麼是無效的? – Sven