LazyTableImages を Storyboards と ARC で動作させようとしています。プロジェクトがコンパイルされ、"Loading..." と Placeholder.png 画像が表示されます。私のログは、パーサーがほとんどのデータ (artist、appName) を取得しているが、サムネイル画像に問題がある (Bad URL) ことを示しています。最大の問題はここにあるようです (nodeCount の NSLog は常にゼロです)。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"RootViewController - tableView cellForRowAtIndexPath");
// customize the appearance of table view cells
static NSString *CellIdentifier = @"Cell";
static NSString *PlaceholderCellIdentifier = @"PlaceholderCell";
// add a placeholder cell while waiting on table data
int nodeCount = [self.entries count];
NSLog(@"RootViewController - nodeCount is %d",nodeCount);
if (nodeCount == 0 && indexPath.row == 0)
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:PlaceholderCellIdentifier];
cell.detailTextLabel.textAlignment = UITextAlignmentCenter;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.detailTextLabel.text = @"Loading…";
return cell;
}
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSLog(@"RootViewController - nodeCount2 is %d",nodeCount);
// Leave cells empty if there's no data yet
if (nodeCount > 0)
{
NSLog(@"RootViewController - nodeCount3 is %d",nodeCount); //this one never gets displayed
// Set up the cell...
AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row];
cell.textLabel.text = appRecord.appName;
cell.detailTextLabel.text = appRecord.artist;
// Only load cached images; defer new downloads until scrolling ends
if (!appRecord.appIcon)
{
if (self.tableView.dragging == NO && self.tableView.decelerating == NO)
{
[self startIconDownload:appRecord forIndexPath:indexPath];
}
// if a download is deferred or in progress, return a placeholder image
cell.imageView.image = [UIImage imageNamed:@"Placeholder.png"];
}
else
{
cell.imageView.image = appRecord.appIcon;
}
NSLog(@"RootViewController - nodeCount4 is %d",nodeCount);
}
return cell;
}