Хранение и доступ к методам из AppDelegate - PullRequest
1 голос
/ 16 августа 2011

Я новичок в разработке iPhone. У меня есть метод, который требует ввода из одного класса .m и использует информацию в другом файле .m. Я слышал, что если вы храните переменные и методы в appdelegate, вы можете получить доступ к информации. Как я могу это сделать? Кроме того, как можно, чтобы пользователь сохранил число из UIPickerView как целое число как переменную?

Большое спасибо!

1 Ответ

1 голос
/ 16 августа 2011

Для хранения основных данных вы можете сделать это просто используя NSUserDefaults

//Setting an int
[[NSUserDefaults standardUserDefaults] setInteger:10 forKey:@"PICKER_VALUE"];
//Retreiving an int
int picker_value = [[NSUserDefaults standardUserDefaults] integerForKey:@"PICKER_VALUE"];

Для более совершенного хранения данных Базовые данные - хороший вариант.

Теперь, когда делегаты приложения являются быстрым и грязным способом обмена данными между приложениями, вам следует избегать такого подхода в производственных приложениях (читать все приложения). У Cocoa with Love есть статья об обмене данными верхнего уровня в приложении.

Использование вашего объекта AppDelegate для управления глобальными переменными может быстро становится страшно по той же причине, что глобальные переменные в целом считаются страшными: вы можете легко положить слишком много на этот верхний уровень и это становится большим, неструктурированным беспорядком. Эта проблема анти-паттерн, часто называемый Big Ball of Mud .

...