为什么我的if语句没有被调用?

时间:2015-08-28 15:10:03

标签: ios objective-c if-statement

我在cellForRowAtIndexPath:中使用if语句,因此我可以使用正确的图像填充单元格。

if ([object objectForKey:@"type"] == [NSNumber numberWithInt:0]) {

    self.cell.typeImage.image = [UIImage imageNamed:@"type1"];
}

else if ([object objectForKey:@"type"] == [NSNumber numberWithInt:1]) {

    self.cell.artTypeImage.image = [UIImage imageNamed:@"type2"];
}

else if ([object objectForKey:@"type"] == [NSNumber numberWithInt:2]) {

    self.cell.artTypeImage.image = [UIImage imageNamed:@"type3"];
}

为了澄清,我确实得到了[object objectForKey:@"type"]的值,因为它没有返回nil。

1 个答案:

答案 0 :(得分:1)

您将两个NSNumber与isEqualToNumber:进行比较,而不是==

另外修改NSNumbers以使[NSNumber intValue]允许==工作。

您需要修改每个if语句,它应该有效。