iOS conversion Implicite de type int à NSNumber est rejetée avec ARC
sur le code suivant, je vais obtenir le errormessage: conversion Implicite de 'int' à 'NSNumber *' est refusé à l'ARC.
Ce que je fais de mal?
<pre>
<code>
NSDictionary *results = [jsonstring JSONValue];
NSNumber *success = [results objectForKey:@"success"]; //possible values for "success": 0 or 1
if (success == 1) { //ERROR implicit conversion of int to NSNumber disallowed with ARC
}
</code>
</pre>
Merci pour toute aide ou conseil!
Daniel
OriginalL'auteur Daniel | 2012-05-18
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
[success intValue] == 1
. Un NSNumber est une classe, si le numéro est un pointeur, pas la valeur directe.OriginalL'auteur
Erro parce que vous comparez
NSNumber
avecint
.Essayer comme -
ou
[success isEqual:[NSNumber numberWithInt:1]]
ou, mieux encore, la comparaison.Merci pour cette remarque, je vais modifier cela.
OriginalL'auteur rishi
NSNumber
est un objet (c'est à dire un pointeur), de sorte que vous ne pouvez pas le comparer à un littéral entier comme1
. Au lieu de cela, vous devez extraire lesint
valeur de l'objet number:OriginalL'auteur omz
Si
success
doit indiquer une valeur de type boolean, vous pouvez essayer cetteOriginalL'auteur tilo