Objective C - 与指针转换不兼容的整数

时间:2011-10-08 17:54:03

标签: objective-c ios xcode

我是iOS编程的新手。

尝试运行以下代码时出现"Incompatible integer to pointer conversion sending 'int' to parameter of type 'NSString *'"错误:

- (IBAction)oneToSix {
    int rNumber = arc4random() % 6;
    [result setImage:[UIImage imageNamed: rNumber]];
}

2 个答案:

答案 0 :(得分:8)

您需要先将int转换为NSString,然后再将其发送到imageNamed方法。这是因为imageNamedNSString作为参数,而不是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]