iPhone - контекстные параметры против глобальных переменных - PullRequest
0 голосов
/ 19 октября 2010

В своей разработке для iPhone я всегда использовал глобальные переменные для множества вещей. Руководство по стилю в моей новой работе говорит, что вместо этого мы должны использовать контекстные параметры. Поэтому мне нужно выяснить, что это значит и как это сделать.

Может кто-нибудь объяснить более подробно, что это значит - или указать мне какой-нибудь код, который работает таким образом?

Спасибо

Ответы [ 3 ]

0 голосов
/ 19 октября 2010

В руководстве по стилю может быть просто сказано, что ваши переменные должны быть ограничены в зависимости от контекста их использования. Например, если у вас есть переменная, необходимая вам для жизненного цикла экземпляра класса, сделайте его переменной-членом этого класса. Если это то, что вам нужно для жизни приложения, поместите его в объект всего приложения (но не в глобальную переменную).

0 голосов
/ 19 октября 2010

Если вы используете глобальный объект (который в основном может быть большой структурой C, содержащей все ваши прежние глобальные переменные) вместо отдельных обнаженных глобальных переменных, вы можете скопировать объект, сериализовать его, чтобы сохранить или создать унифицированнуюдамп ядра, в конечном итоге добавить сеттеры / прослушиватели и т. д.

Если разбить глобальный объект на основе общей области или требуемого контекста группировок переменных экземпляра / структуры, то дробные объекты могут в конечном итоге оказатьсяхорошие кандидаты на M часть MVC перераспределения вашего кода для лучшего повторного использования, расширяемости и т. д.

0 голосов
/ 19 октября 2010

Похоже, что в номенклатуре может быть конфликт. Из этого определения Параметры контекста они, похоже, касаются хранения глобального состояния на время сеанса. Возможно, вы могли бы использовать NSDictionary «contextParameters» в NSUserDefaults для хранения ваших глобальных переменных. Если ваши глобальные переменные, возможно, потребуется экспортировать полностью (для отладки, для сохранения состояния), это может быть полезно в долгосрочной перспективе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...