Wie kommt man arc4Sin () -Ausgabe in Etikett / NSString
-
20-09-2019 - |
Frage
Ich versuche, die Ausgabe von arc4sin zu nehmen und es in ein Etikett setzen.
(EDIT:. Sie können diese und nur Post Beispielcode ignorieren, wenn dies auch irrelevant ist)
Ich habe versucht:
// 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;
}
Ich habe eine IBOutlet für „label“ erstellt und damit verbunden ist. Was ist hier falsch?
Lösung
In Cocoa Formatstrings, %@
bezeichnet eine Objective-C Objekt , die Ints, Schwimmern, sehnt sich, und kurze Hosen sind nicht alle. Sie sind nur C-Datentypen und ihre eigenen Formate verwenden, die genau die gleichen wie in printf()
.
Nach der manpage, arc4random () als u_int32_t arc4random(void);
definiert sind, so sollten Sie das %u
Formatbezeichner (unsigned integer) verwendet werden.
Edit: Danke Till für diesen Hinweis. Sie -initWithFormat:
möchten, wenn Sie -alloc
anrufen, -stringWithFormat:
ist eine Klassenmethode von NSString