如何将arc4Sin()输出到label / NSString中

时间:2010-03-16 05:46:01

标签: objective-c random nsstring casting arc4random

我正在尝试获取arc4sin的输出并将其放入标签中。

(编辑:你可以忽略这一点,只是发布示例代码,如果这太无关紧要了。)

我试过了:

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *number =  [[NSString alloc] stringWithFormat: @"%@", arc4random() % 9];
    label.text = number;
}

我为“标签”创建了一个IBOutlet并将其连接起来。这有什么不对?

1 个答案:

答案 0 :(得分:1)

在Cocoa格式的字符串中,%@表示一个Objective-C 对象,其中int,float,long和short都不是。它们只是C数据类型,并使用自己的格式,与printf()中的格式完全相同。

根据联机帮助页,arc4random()定义为u_int32_t arc4random(void);,因此,您应该使用%u格式说明符(无符号整数)。

编辑:感谢Till指出这一点:如果您正在调用-initWithFormat:,则需要-alloc-stringWithFormat:是NSString的类方法。