Question

Je suis en train de prendre la sortie de arc4sin et le mettre dans une étiquette.

(EDIT:. Vous pouvez ignorer et simplement le code de l'échantillon poster, si cela est trop hors de propos)

J'ai essayé:

// 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;
}

Je l'ai créé un IBOutlet pour « label » et connecté. Quel est le problème ici?

Était-ce utile?

La solution

Dans les chaînes de format Cocoa, %@ désigne un Objective-C objet , qui ints, flotteurs, longs et courts métrages ne sont pas tous. Ils ne sont que C types de données, et d'utiliser leurs propres formats, exactement le même que dans printf().

Selon la page de manuel, arc4random () est définie comme u_int32_t arc4random(void);, donc, vous devez utiliser le spécificateur format %u (entier non signé).

Edit: Merci Till pour avoir signalé. -initWithFormat: vous voulez si vous appelez -alloc, -stringWithFormat: est une méthode de classe de NSString

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top