AppDelegate следует использовать только для очень специфических элементов, таких как реализация протокола UIApplicationDelegate
(т. Е. Такие методы, как applicationDidFinishLaunching
) или в некоторых случаях для хранения глобальных переменных.
Вы должны хранить IBActions и другие выходы в их соответствующих файлах контроллера представления (т. Е. Если вы создали MyViewController.h и MyViewController.m, которые связаны с MyViewController.xib, где у вас есть несколько кнопок, изображений и т. Д.).Затем их можно подключить, перетащив нужный элемент управления инспектора (т.е. TouchUpInside) к владельцу файла.
Что-то, что вы должны прочитать, чтобы лучше понять контроллеры представления: http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html
Обычно этоЛучше всего создать уникальный контроллер представления для каждого представления, которое вы представите пользователю.Например, если бы у меня был главный экран, а затем «о» или экран настроек, я бы сделал каждый из них своим собственным контроллером представления.Это помогает организовать вещи лучше, чем использование одного представления с целой кучей подпредставлений, которые вы скрываете / показываете, а также улучшит время загрузки и общую производительность.
Обновите ваш второй вопрос в комментариях о доступе кделегат приложения:
Сначала необходимо импортировать файл .h (т. е. #import "AppDelegate.h"
) для делегата приложения в любой файл .m контроллера контроллера, который вы хотите использовать для доступа к любым переменным, массивам и т. д.Вы сохранили в файлах делегатов приложения.Убедитесь, что вы синтезируете любые объекты, которые вы создаете в файле .h делегата приложения, в файле .m делегата приложения, чтобы были созданы методы получения и установки (чтобы вы могли к ним обращаться).
Затем в контроллере представления .mфайл, в зависимости от того, какой метод вы используете:
-(void)someMethod {
// here we just create a shortcut to the app delegate called "theAppDelegate"
YourAppDelegateFileNameHere *theAppDelegate = (YourAppDelegateFileNameHere *)[[UIApplication sharedApplication] delegate];
// now you can use the dot notation if you wanna access a variable
int SomeNewInteger = theAppDelegate.someIntegerYouHaveStored;
// or some array you have stored
return [theAppDelegate.someArrayYouCreated count];
}
Надеюсь, это поможет!