2010-08-24 4 views
1

J'ai un QCView avec un séparateur d'entrée booléen. Lorsque j'essaie de faire [qcview setValue:NO forInputKey:@"showCube"]; cela fonctionne comme prévu et l'entrée est réglée à NO. Cependant, quand j'essaie de faire [qcview setValue:YES forInputKey:@"showCube"]; je reçois EXC_BAD_ACCESS. J'ai essayé d'utiliser 1, OUI, et VRAI et ils donnent tous la même erreur. Quel pourrait être le problème causant cette erreur mystérieuse?QCView inputKey répond à NO mais se bloque sur YES

Merci

Répondre

3

setValue:forInputKey: attend value être un objet (pas un scalaire, qui vous fournir).

Essayez

[qcview setValue:[NSNumber numberWithBool:YES] forInputKey:@"showCube"]; 

ou

[qcview setValue:kCFBooleanTrue forInputKey:@"showCube"]; 

(un scalaire autonome NO fonctionne dans ce cas, car il évalue à 0, ce qui équivaut à nil en Objective-C, qui, dans certaines circonstances, peut recevoir des messages sans exploser, mais vous devriez utiliser soit le constructeur NSNumber, soit l'une des constantes de la Core Foundation.)

+0

Ça a marché! Merci beaucoup pour l'explication de la raison pour laquelle NO a travaillé, c'est logique maintenant! – nosedive25

Questions connexes