UIImageview设置图像崩溃

时间:2012-08-20 10:56:34

标签: iphone ios5 uitableview uiimageview

我正在使用以下代码将图像设置为UIImageView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    for(int i=0;i<[radioButtons count];i++){
        [[radioButtons objectAtIndex:i] setImage:[UIImage imageNamed:@"checkbox_unchecked.png"]];

    }    
    UIImageView *imageViews=(UIImageView *)[self.view viewWithTag:indexPath.row];
    [imageViews setImage:[UIImage imageNamed:@"checkbox_checked.png"]];
}

因此,在单击任何tableview单元格时,图像将获得设置。但是,如果我点击objectatindex:0 然后应用程序崩溃。我无法解决这个问题。

以下是崩溃日志:

2012-08-20 16:25:36.321 EventApp[2422:12503] -[UIView setImage:]: unrecognized selector sent to instance 0x79642b0
2012-08-20 16:25:36.321 EventApp[2422:12503] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setImage:]: unrecognized selector sent to instance 0x79642b0'
*** First throw call stack:
(0x1de3022 0x1c03cd6 0x1de4cbd 0x1d49ed0 0x1d49cb2 0x7a98c 0xc615c5 0xc617fa 0x14f685d 0x1db7936 0x1db73d7 0x1d1a790 0x1d19d84 0x1d19c9b 0x1be57d8 0x1be588a 0xbd0626 0x380a2 0x23b5)
terminate called throwing an exception(lldb) 

2 个答案:

答案 0 :(得分:5)

我认为你没有得到UIImageView对象,你正在获取uiview类型对象,这就是它崩溃的原因。你应该尝试定义另一个标签属性,如999 + indexPath.row。得到它你定义标签= 0或IB自动将tag = 0给所有对象所以它采取uiview标签0而不是uiimageView

答案 1 :(得分:0)

这意味着您正在向UIView发送消息 - (void)setImage,而不是UIImageView。确保带有标记indexPath.row的视图和数组中的所有radioButtons实际上是UIImageView