使用iPad模拟器和iphone模拟器可以正常使用以下代码段。但是,当我在ipad 2上运行时,UIImage是nil(在调试时检查)(使用iphone模式)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"flowerCell"];
switch (indexPath.section) {
case kRedSection:
cell.textLabel.text=[self.redFlowers objectAtIndex:indexPath.row];
break;
case kBlueSection:
cell.textLabel.text=[self.blueFlowers objectAtIndex:indexPath.row];
break;
default:
cell.textLabel.text=nil;
}
NSString *img=[[NSString alloc] initWithFormat:@"%@%@", cell.textLabel.text, @".png"];
UIImage *flowerImage=[UIImage imageNamed:img];
cell.imageView.image=flowerImage;
return cell;
}
这是一本从教程书中摘取的基本iphone示例,是第一次出现这个问题。
答案 0 :(得分:2)
尝试精确匹配图像名称Lowercase-uppercase
如果图像名称是“image.png”,并且你在代码@“image.Png”中写了这个名字,这将在模拟器上正常工作,并且无法在Device上运行
答案 1 :(得分:1)
我假设如果不是文件名大写,则图像丢失。
模拟器可能通过缓存资源来掩盖问题。如果您从模拟器中删除应用程序,清理并再次运行,您可能会在模拟器上看到相同的问题。
检查您的目标构建设置,看看图片是否在您的资源中。