j'ai les suivantes deux morceaux de code qui je pense devrait être identiqueNSArray si déclaration comportement étrange
int temp = [[[myArray objectAtIndex:iIndex] objectAtIndex:jIndex] state];
if (temp > 0)
{
NSLog(@"TEST: %d",temp);
}
if ([[[myArray objectAtIndex:iIndex] objectAtIndex:jIndex] state] > 0)
{
NSLog(@"TEST: %d",temp);
}
état
est juste un int dans les objets du tableau avec accesseur comme:
@property (assign)int state;
mais lorsque l'état est négatif, la première version fonctionne (pas de sortie), mais la deuxième version sort (par exemple) "TEST: -4" (?!)
est-il une raison évidente pourquoi ils pourraient être dif ferent?
Si le fichier d'en-tête avec l'état n'est pas importé, objc suppose qu'il renvoie l'ID. Avez-vous vérifié que vous incluez les bons en-têtes? – neoneye