Как получить вывод arc4Sin() в label / NSString
-
20-09-2019 - |
Вопрос
Я пытаюсь взять выходные данные 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.