在viewDidLoad中,我调用
if (self.selectedObjectID) {
CoreDataHelper *cdh = [(AppDelegate *)[[UIApplication sharedApplication] delegate] cdh];
Location *locate = (Location*)[cdh.context existingObjectWithID:self.selectedObjectID error:nil];
self.addressValue = [
[NSArray alloc] initWithObjects:locate.intersectionMain,
locate.intersectionSide,
locate.city,
locate.zipCode,
locate.county,
locate.stateProvince,
locate.country,
locate.intersectionID,
nil
];
}
表视图调用时:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我在addressValue变量上遇到索引超出范围的问题。它声称阵列中只有一个项目。有趣的是,这个确切的代码在iPad上运行得很好,但它打破了超出iPhone界限的索引。无论从位置的什么值首先加载到数组我只有一个。我不明白。这是一个耗尽时间的问题。我该如何解决这个问题?
答案 0 :(得分:0)
来自NSArray的模型数据应始终反映UITableViewDatasource中使用的内容。为此,您应该为数组加载值或者为空数组,但如果在UITableViewDatasource方法中使用它,则不应为nil。