2010-04-20 1 views
0

Как вы получаете доступ к NSDictionary в разных NSViewControllers. NSDictionary был инициализирован в моем файле делегата. Нужно ли мне импортировать файл делегата в каждый файл диспетчера представлений или делать все мои представления поверх моего делегата о моем NSDictionary? Возможно, мне нужно объявить словарь в каждом файле? -Скорость GuyИспользование NSDictionary во всем проекте iphone

ответ

0

NSDictionary Должен быть представлен как собственность в любом классе, создающем его. Вам нужно импортировать файл заголовка для каждого другого класса, который должен его использовать (чтобы они могли получить доступ к свойству).

Как правило, это неправильная практика вносить такие вещи в делегат приложения (дочерние классы не должны полагаться на делегат приложения) - похоже, что он лучше подходит для класса модели (для более информацию о шаблоне MVC, вы можете увидеть Apple's documentation).

0

Если у вас есть NSDictionary в делетете приложения, вы можете объявить его как свойство в делегате. Затем, в любом файле, который нуждается в объекте словаря, вы можете получить доступ к нему, как показано ниже:

AppDelegate *mydelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 

NSDictionary *dict = mydelegate.dictionary; 

Это предполагает, что ваше имя файла делегат AppDelegate и ваш NSDictionary ссылка на объект имя словарь. Вам нужно будет импортировать AppDelegate в свои файлы, но для того, чтобы использовать актерский состав.