我是iOS編程新手。Objective C - 指針轉換不兼容整數
- (IBAction)oneToSix {
int rNumber = arc4random() % 6;
[result setImage:[UIImage imageNamed: rNumber]];
}
我是iOS編程新手。Objective C - 指針轉換不兼容整數
- (IBAction)oneToSix {
int rNumber = arc4random() % 6;
[result setImage:[UIImage imageNamed: rNumber]];
}
你需要將它發送到imageNamed
方法之前到int
到NSString
轉換:
當我嘗試運行下面的代碼我得到一個"Incompatible integer to pointer conversion sending 'int' to parameter of type 'NSString *'"
錯誤。這是因爲imageNamed
以NSString
作爲參數,而不是int
。試試這個:
- (IBAction)oneToSix {
int rNumber = arc4random() % 6;
[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d", rNumber]]];
}
更多的信息在這裏:UIImage Class Reference。
問題是imageNamed:
以NSString
作爲輸入,而不是int
。要解決這個問題,只需將int
轉換爲NSString
[NSString stringWithFormat:@"%d",rNumber]