2009-07-28 2 views
0

Я начал разрабатывать свой класс singleton, но у меня проблема. Что я хочу сделать, это иметь объекты поиска, содержащие значения формы поиска, которые я мог бы использовать в нескольких представлениях. Я хочу иметь возможность получить синглтон в любом представлении, чтобы выполнить поиск или построить форму поиска. Так у меня есть набор значений с булево для каждого, чтобы знать, если переменная инициализирована пользователем или нет, вызывают не все поля поиска необходимо заполнить вЛучший способ использовать мой синглтон

Например:.

NSString name= Bob; 
BOOL nameFilled =True; 

NSString adress= nil; 
BOOL adressFilled=false; 

NSNumber numberOfChilds = 0; 
BOOL numberOfChildsFilled = false; 

Итак, моя проблема в том, что я не могу сохранить логическое значение в моем заголовочном файле, потому что это не класс. Как я могу сделать, есть ли лучшее решение, чем то, что я представил выше? Надежда Я ясно

+1

Удалите его !, нах просто джошинг. –

ответ

0

Вместо использования int, используйте NSNumber. Затем для объектов, которые не были указаны, используйте «nil», который отличается от NSNumber с 0 в качестве значения.

Вам не нужно @ получать BOOL или другие примитивные типы в Objective-C - вам нужно использовать только те типы объектов.

+0

о да, это умная идея – Mathieu

2

Вам не нужно иметь это булево значение, чтобы увидеть, если она заполнена, то почему бы не использовать только сам объект, чтобы увидеть, если он был инициализирован так что-то вроде

if(name==nil) 
    //this means i t hasnt been initialized 
else 

    //this means it has 
0

Серьезно, не используйте синглет. Это не нужно для этого приложения. У вас должен быть класс модели, чтобы справиться с этим.

Попробуйте использовать вставку для инъекций и/или файлы plist для сохранения информации. У вас будет гораздо лучшая отладка времени и расширение функциональности.

+0

Что вы называете «модельным классом»? Не могу сказать, что я знаком с этим термином. – Dinah

+0

Я действительно не понимаю, что вы имеете в виду. – Mathieu

+0

Просто класс, чтобы инкапсулировать ваши данные модели. Он может хранить данные в словаре или других переменных экземпляра. –

Смежные вопросы