Comment obtenir une sortie arc4Sin () dans l'étiquette / NSString
-
20-09-2019 - |
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?
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