Como obter o Arc4sin () Saída no rótulo/NSString
-
20-09-2019 - |
Pergunta
Estou tentando pegar a saída do Arc4sin e colocá -lo em uma etiqueta.
(Editar: você pode ignorar isso e apenas postar código de amostra, se isso for muito irrelevante.)
Eu tentei:
// 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;
}
Eu criei um iboutlet para "etiqueta" e conectei. O que há de errado aqui?
Solução
Em cordas de formato de cacau, %@
indica um objetivo-c objeto, o que é, flutua, longos e shorts não são. São apenas cipos de dados C e usam seus próprios formatos, exatamente o mesmo que em printf()
.
De acordo com a manpra, Arc4Random () é definido como u_int32_t arc4random(void);
, Assim, você deve usar o %u
Especificador de formato (número inteiro não assinado).
EDIT: Obrigado a Till por apontar isso: você quer -initWithFormat:
Se você está ligando -alloc
, -stringWithFormat:
é um método de classe de NSString.