我在尝试UITableView
用网络请求的结果填充 a 时遇到问题。我的代码似乎没问题,因为当我的网络速度很快时它可以完美运行,但是,当它不是时,函数
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath-
仍然执行,这会导致错误的访问错误。我推测这是因为上述函数试图使用的数组尚未被填充。这让我想到了我的问题:无论如何我可以UITableView
延迟委托方法以避免这种情况吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"AlbumsCell";
//UITableViewCell *basicCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
AlbumsCell *cell = (AlbumsCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
**// Here is where the Thread 1: EXC_BAD_ACCESS (code=2 address=0x8)**
cell = [[[AlbumsCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
Album *album = [_albums objectAtIndex:[indexPath row]];
[cell setAlbum:album];
return cell;
}