Я вынужден использовать int
и сделать 0 == NO
, 1 == YES
и все остальное == undefined.
Очевидно, есть миллион способов сделать что-то подобное, но что кажется вам лучшим способом? Проблемы, о которых я могу подумать, включают в себя простоту и объем памяти (например, что, если у меня их много?).
Другой способ - использовать две BOOL, одну для isDefined
и одну для value
Другой способ,
typedef enum { CPStatusUndefined, CPStatusAvailable, CPStatusUnavailable } CPStatus;
Редактировать, вариант использования:
У меня есть свойство yes / no, которое сложно рассчитать. Когда он проверяется, он часто проверяется (UIMenuController
, OFTEN), но если пользователь не выберет его, он никогда не проверяется. Способ, который я выбрал для решения этой проблемы, - это переменная трех типов. При первой проверке, если она не определена, вы вычисляете значение да / нет и возвращаете его, после этого вы просто возвращаете значение да / нет.