QCView inputKey отвечает на НЕТ, но вылетает при ДА - PullRequest
1 голос
/ 24 августа 2010

У меня есть QCView с логическим входным разделителем. Когда я пытаюсь сделать [qcview setValue:NO forInputKey:@"showCube"];, он работает как положено, и ввод устанавливается на NO. Однако, когда я пытаюсь сделать [qcview setValue:YES forInputKey:@"showCube"];, я получаю EXC_BAD_ACCESS. Я попытался использовать 1, ДА и ИСТИНА, и все они дают ту же ошибку. Может ли быть причиной этой загадочной ошибки?

Спасибо

1 Ответ

3 голосов
/ 24 августа 2010

setValue:forInputKey: ожидает, что value будет объектом (не скаляр, который вы поставляете).

Попробуйте

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

или

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

(В этом случае работает автономный скаляр NO, поскольку он оценивается в 0, что эквивалентно nil в Objective-C, который при некоторых обстоятельствах может получать сообщения без взрыва. Но на самом деле вы должны используя конструктор NSNumber или одну из констант Core Foundation.)

...