У меня был некоторый опыт разработки для iPhone, но я полностью самоучка и пытаюсь улучшить свою практику. Этот вопрос, вероятно, довольно вводный для программирования.
Каков наилучший способ (или это возможно) поддерживать переменные экземпляра со значениями, которые являются общими для всех экземпляров объекта? Возможно ли, чтобы создание, изменение и проверка объекта и его атрибутов происходили в разных местах?
Скажем, у меня есть объект, который отслеживает, сколько раз пользователь проводил по экрану. Можно ли, скажем, выделить этот объект в моем AppDelegate, а затем каким-то образом увеличить переменную count этого объекта из разных контроллеров представления?
Можно ли определить переменную экземпляра так, чтобы она была общей для всех экземпляров объекта, которому она принадлежит? Это решило бы проблему.
Пока что я только что сделал IVAR в своем AppDelegate для таких вещей, которые мне нужно было отслеживать, а затем просто получил к ним доступ так:
((MyAppDelegate *)[UIApplication sharedApplication].delegate).instanceVariable
но я не знаю, хорошая это практика или нет. Вероятно, нет.
Может быть, это связано с глобальными переменными или синглетонами. Или префикс "общий доступ", который появляется выше, и я видел в других местах тоже. Я просто ищу совет или направление, чтобы посмотреть. Надеюсь, этот вопрос имеет смысл и не слишком общий.