我已经完成了一百万个UITables - 有字幕,图片,背景,颜色,文字样式 - 你可以说出来。 突然间,我正在撞到这张桌子上,特别是在要求拍摄细胞图像的线上。 这是代码:
// Configure the cell:
cell.textLabel.font = [UIFont fontWithName:@"Franklin Gothic Book" size:18];
cell.textLabel.text = [leadershipMenu objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [leadershipSubtitlesMenu objectAtIndex:indexPath.row];
// And here's the statement that causes the crash:
cell.imageView.image = [leadershipPhotosMenu objectAtIndex:indexPath.row];
现在,我得到的错误是:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc'
我确信导致崩溃的声明是
cell.imageView.image = ...
因为一旦我发表评论,一切正常。
我一生都没见过
-[__NSCFConstantString _isResizable]:
错误。 我用谷歌搜索了它,但发现它很少。
非常特别。
那里有人有任何线索吗?
答案 0 :(得分:12)
如您的评论中所述。保存图像的方式是导致问题的原因。
试试这个..
leadershipPhotosMenu = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"JohnQ.jpg"], [UIImage imageNamed:@"BillZ.png"], nil];
上面的代码会将图像存储在mutableArray中,这样可行,但我建议不要将图像存储在数组中。
您还可以解决您的问题,而无需像上面的代码那样将图像存储在数组中:
cell.imageView.image = [UIImage imageNamed:(NSString*)[leadershipPhotosMenu objectAtIndex:indexPath.row]];
此错误消息表示您leadershipPhotosMenu
内的对象不是图片,而是字符串
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFConstantString _isResizable]: unrecognized selector sent to instance 0xcacbc'
答案 1 :(得分:1)
这样做:
cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];
答案 2 :(得分:1)
您正在存储图像的名称而非图像。但是,imageView将UIImage作为其属性,而不是图像名称。所以请在下面做出改变。
cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];