gpt4 book ai didi

iphone - 尝试推送详细 View 时,iPhone应用程序崩溃,因为 “index 0 beyond bounds for empty array”

转载 作者:行者123 更新时间:2023-12-03 17:41:18 25 4
gpt4 key购买 nike

我遇到以下错误,这是由以下代码段引起的:

错误

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进行解析。当我单击某个项目以进入详细 View 时,它崩溃了。

我已经用Google搜索了这个问题,但是我确实在 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {}方法(返回 [newsItems count];)中计算了所有数组项。

另外,我还在崩溃上方记录了完整的newsItems数组。我可以告诉你,它不是空的。

所以,如果不是行数而不是空数组,那是什么?

一件事(?):
我总是收到此错误:“索引 0 超出了空数组的范围”。即使我单击了第三行或第四行,也会出现类似“index 3 超出空数组的界限”之类的错误。

**有关详细 View .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

最佳答案

您如何初始化newsDetailView的nib文件?

由于未创建或启动nib文件,因此发生了与 View 相关的索引数组超出范围异常。

因此,尝试创建nib文件,然后推送 View Controller 。

因为在没有nib文件的情况下,导航 Controller 无法将任何内容压入堆栈。

希望这会有所帮助。

关于iphone - 尝试推送详细 View 时,iPhone应用程序崩溃,因为 “index 0 beyond bounds for empty array”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8487319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com