Глобальные переменные в Objective C на iPhone - PullRequest
1 голос
/ 29 октября 2009

Я новичок в Objective C с опытом работы в основном в программировании баз данных. Я разрабатываю медицинское приложение для iPhone, которое включает в себя несколько формул для расчетов с использованием множества переменных. По сути, каждая формула будет иметь свой собственный экран, но числовые записи и расчеты с каждого экрана должны появляться на экранах для других формул, имеющих общие записи, поскольку пользователь перемещается между экранами, а значения переменных, измененные на одном экране, должны обновляться, если они появляются на другом. экран.

Я понимаю потенциальные ловушки глобальных переменных, но мне кажется, что набор глобальных переменных - это то, что мне нужно. Мне интересно, каков наилучший метод для достижения этой цели. Я рассмотрел использование синглетонов на этом сайте и в документации Apple, и, возможно, этот метод является решением. Мне также было интересно, возможно, правильный путь в Core Data - сохранение числовых переменных, введенных или рассчитанных на одном экране, для извлечения при выводе новой формулы на другом экране.

Заранее спасибо за любые советы.

1 Ответ

3 голосов
/ 29 октября 2009

Общепринятая архитектура для того, что вы спрашиваете, является частью модели шаблона проектирования "Model-View-Controller".

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

Модель является лишь абстрактным описанием, она не содержит каких-либо частей пользовательского интерфейса. Вы будете использовать класс контроллера, чтобы связать вашу модель с элементами пользовательского интерфейса, такими как текстовые поля или кнопки.

См. Описание Apple MVC здесь или здесь .

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