Ok est ici la chose damnée:opérateurs Objective-C condtions bizarreries
- (void)setMinimumNumberOfSides:(NSNumber *)newMinimumNumberOfSides {
if (newMinimumNumberOfSides != minimumNumberOfSides) {
NSNumber *minimum = [[NSNumber alloc] initWithInt:(int)2];
if (newMinimumNumberOfSides > minimum) {
[newMinimumNumberOfSides retain];
[minimumNumberOfSides release];
minimumNumberOfSides = newMinimumNumberOfSides;
} else {
NSLog(@"setMinimumNumberOfSides: Invalid number of sides: %@ is smaller than the minimum of %@ allowed.",
newMinimumNumberOfSides, minimum);
}
[minimum release];
[newMinimumNumberOfSides release];
}
}
Il y a quelque chose de bizarre se passe là-dedans! Le problème est mon if (newMinimumNumberOfSides> minimum) {} condition. Même si newMinimumNumberOfSides est plus grand que le minimum, il va dans l'instruction else.
J'ai fait:
NSNumber *minimum = [[NSNumber alloc] initWithInt:(int)6];
[polygon setMinimumNumberOfSides:minimum];
ce qui est bien supérieur à 2. Et je reçois mon message d'erreur ...
J'ai essayé de NSLog ces deux, et il me donne les bons chiffres .. Alors, que se passe-t-il avec ça?
Merci beaucoup!
C'est logique très, merci beaucoup! – TomShreds