0
构建了一个iPhone应用程序,它在按下按钮时为随标签生成一个标签。另一个arc4random问题
简单,只是为了学习新的技能。
它工作正常,但我把任何价值似乎并没有限制生成的随机数的价值。它总是9位数字。你可以看到,我在%符号后面加了5,但是它会生成9位数字。 什么做错了?
构建了一个iPhone应用程序,它在按下按钮时为随标签生成一个标签。另一个arc4random问题
简单,只是为了学习新的技能。
它工作正常,但我把任何价值似乎并没有限制生成的随机数的价值。它总是9位数字。你可以看到,我在%符号后面加了5,但是它会生成9位数字。 什么做错了?
NSNumber是一个Objective-C对象,因此您应该使用%@
来显示它。 %d
显示一个9位数字,因为那是NSNumber的地址。
NSString与NSNumber不一样。
正确和简化代码应该是这样的:
int randomNumber = (arc4random() % 5) + 1;
// no need to create an NSNumber if you do not need to store it into an NS container.
randLabel.text = [NSString stringWithFormat:@"It worked! %d", randomNumber];
// no need to create an intermediate NSString variable.
// you can directly assign the string to the label's text.
真棒,即固定它。也很好解释,所以我可以看到出了什么问题。谢谢一堆(: – espekia 2010-10-05 15:46:31