Вопрос

Я пытаюсь взять выходные данные 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 для "label" и подключил его.Что здесь не так?

Это было полезно?

Решение

В строках формата Cocoa, %@ обозначает объект-C объект, которыми не являются ints, floats, longs и shorts.Это просто типы данных C и используют свои собственные форматы, точно такие же, как в printf().

Согласно manpage, arc4random() определяется как u_int32_t arc4random(void);, таким образом, вы должны использовать %u спецификатор формата (целое число без знака).

Редактировать:Спасибо Тиллу за то, что указал на это:ты хочешь -initWithFormat: если вы звоните -alloc, -stringWithFormat: является методом класса NSString.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top