Каков наилучший способ обработки логических значений, которые берутся из настроек UISwitch и хранятся в NSMutableDictionary, который сохраняется в каталоге пользователя в качестве постоянных настроек? В частности, каков наилучший способ отличить логические значения от числовых значений в NSMutableDictionary, который записывается и читается из файловой системы?
========
добавлено: Спасибо Адриану и Бену. Таким образом, в результате, если хранится через [NSNumber numberWithBool:] (это то, что я делал), то нет удобного способа определить, возникла ли эта величина как логическое значение, правильно?
Вторая часть этого заключается в том, что NSMutableDictionary, который я храню, изначально создается путем создания его через plist, который имеет логические значения. Эти значения имеют класс NSCFBoolean при первом чтении. Сейчас моя стратегия состоит в том, чтобы сравнить значение, с которым я работаю в словаре, с соответствующей записью в plist.
Причина, по которой это имеет значение, заключается в том, что я генерирую элементы интерфейса на лету, чтобы позволить пользователю манипулировать этими значениями, и связываю логические значения с UISwitch. Если я потеряю исходный класс при преобразовании в число, я получаю неподходящий элемент пользовательского интерфейса.
Я рассматриваю подстановку массивов в качестве сохраненного значения, где первое значение - это сохраненное значение, а остальные записи - это выбор: там, где существует два варианта, он рассматривается как логическое значение ... в других случаях они служить ценностями сборщика. Но это кажется громоздким, если надежным.
Любые идеи приветствуются ...