У меня есть тестовый проект для использования частного объекта данных на нескольких контроллерах представления. (я скачал его из Интернета & ГИТ-хаб)Литье [UIApplication sharedApplication] .delegate
- (ExampleAppDataObject*) theAppDataObject;
{
id<AppDelegateProtocol> theDelegate = (id<AppDelegateProtocol>) [UIApplication sharedApplication].delegate;
ExampleAppDataObject* theDataObject;
theDataObject = (ExampleAppDataObject*) theDelegate.theAppDataObject;
return theDataObject;
}
Первый вопрос, theDelegate отлили с AppDelegateProtocol, даже это приложения UIApplication имя делегат ViewControllerDataSharingAppDelegate, и нет никакого предупреждения. Я не могу понять, почему, может быть, это потому, что это был тип идентификатора? (AppDelegateProtocol - это пользовательский протокол делегатов, объявленный им в AppDelegate.)
Во-вторых, он отображает этот код на каждом контроллере, и это похоже на однотонный шаблон. Я не думаю, что это не лучший способ передачи данных между контроллером представления. Каков наилучший способ передачи типа данных объекта?
Спасибо.