0

我正在尝试获取 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 并将其连接起来。这里有什么问题?

4

1 回答 1

1

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

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

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

于 2010-03-16T05:49:32.197 回答