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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top