我是iOS编程的新手。
尝试运行以下代码时出现"Incompatible integer to pointer conversion sending 'int' to parameter of type 'NSString *'"
错误:
- (IBAction)oneToSix {
int rNumber = arc4random() % 6;
[result setImage:[UIImage imageNamed: rNumber]];
}
答案 0 :(得分:8)
您需要先将int
转换为NSString
,然后再将其发送到imageNamed
方法。这是因为imageNamed
将NSString
作为参数,而不是int
。试试这个:
- (IBAction)oneToSix {
int rNumber = arc4random() % 6;
[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d", rNumber]]];
}
此处有更多信息:UIImage Class Reference。
答案 1 :(得分:4)
问题是imageNamed:
需要NSString
作为输入,而不是int
。要解决此问题,只需将int
转换为NSString
[NSString stringWithFormat:@"%d",rNumber]