7

我已经完成了一百万个 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]: 

错误。我已经用谷歌搜索了它,但发现很少。

很奇特。

有人有任何线索吗?

4

3 回答 3

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'
于 2012-06-27T04:22:25.883 回答
1

做这个:

 cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];
于 2012-06-27T04:17:45.267 回答
1

您正在存储图像广告的名称而不是图像。然而 imageView 有 UIImage 作为它的属性,而不是图像名称。所以进行以下更改。

cell.imageView.image = [UIImage imageNamed:[leadershipPhotosMenu objectAtIndex:indexPath.row]];
于 2012-06-27T04:22:40.987 回答