2014-01-30 6 views
0

В настоящее время у меня есть 2 файла ViewController. Я хочу обмениваться общими данными между ними, однако я хочу, чтобы класс GlobalVariables хранил все переменные во всем моем коде. В одном из файлов ViewController я хочу установить значение переменной (я создал метод setVariable в файле GlobalVariables.m) и из ViewController, я хочу вызвать этот метод, чтобы он задавал переменную. Как это сделать, не создавая экземпляр GlobalVariables, поскольку любые изменения, которые я делаю для экземпляра, не переносятся, когда я создаю другой экземпляр GlobalVariables в моем втором файле ViewController?Как установить значения для класса без создания экземпляра класса?

+0

Сделайте поиск по "singleton". – rmaddy

ответ

2

Использовать одноэлементный дизайн. Это чрезвычайно эффективный способ обмена данными между различными частями кода без необходимости передавать данные вручную. А также он всегда будет один экземпляр через из жизненного цикла приложения

Пожалуйста, проверьте эту ссылку: Singleton Class

+0

Дизайн синглтонного дизайна отлично подойдет для решения этой задачи! – Mayankmmmx

+0

@Mayankmmmx: Если мои анны вы принимаете мои анны, чтобы они также помогали другим. Спасибо –

0

Определите varible в AppDelegate. AppDelegate - это класс Singleton. И доступ к этой переменной, где вы хотите.

+1

Я просто даю вам знать, что этот метод может вызвать серьезную реакцию! Делегат приложения не должен использоваться так. Я помню, в мои хорошие дни ole, где я предлагал подобные методы и получил взломанный для него сообществом стека! Просто даю вам голову :) – Pavan

+0

эй вы можете сказать мне, хочу ли я получить доступ к методу appdelegate, чем то, как я могу назвать их – morroko

+0

Согласен. НЕ используйте делегат приложения в качестве хранилища для глобальных переменных. – rmaddy

0

Непонятно, что вы подразумеваете под «заданием значений для класса». В Objective-C есть 3 вида переменных: глобальные переменные, переменные экземпляра и локальные переменные. Локальные переменные не актуальны. Если вы не хотите создавать экземпляр, то переменные экземпляра отсутствуют. Итак, вам нужны глобальные переменные. Они могут быть установлены и доступны с помощью любой функции или метода.

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