Как вы получаете доступ к NSDictionary в разных NSViewControllers. NSDictionary был инициализирован в моем файле делегата. Нужно ли мне импортировать файл делегата в каждый файл диспетчера представлений или делать все мои представления поверх моего делегата о моем NSDictionary? Возможно, мне нужно объявить словарь в каждом файле? -Скорость GuyИспользование NSDictionary во всем проекте iphone
ответ
NSDictionary
Должен быть представлен как собственность в любом классе, создающем его. Вам нужно импортировать файл заголовка для каждого другого класса, который должен его использовать (чтобы они могли получить доступ к свойству).
Как правило, это неправильная практика вносить такие вещи в делегат приложения (дочерние классы не должны полагаться на делегат приложения) - похоже, что он лучше подходит для класса модели (для более информацию о шаблоне MVC, вы можете увидеть Apple's documentation).
Если у вас есть NSDictionary в делетете приложения, вы можете объявить его как свойство в делегате. Затем, в любом файле, который нуждается в объекте словаря, вы можете получить доступ к нему, как показано ниже:
AppDelegate *mydelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
NSDictionary *dict = mydelegate.dictionary;
Это предполагает, что ваше имя файла делегат AppDelegate и ваш NSDictionary ссылка на объект имя словарь. Вам нужно будет импортировать AppDelegate в свои файлы, но для того, чтобы использовать актерский состав.