Работа с iPhone OS 3.2 только классы
-
03-10-2019 - |
Вопрос
Как бы вы написали универсальное приложение, которое использует классы, представленные в IPhone OS 3.2, такие как UIPopoverController
а также UISplitViewController
? О блоге Джеффа Ламарче об этом Оле предоставляет метод создания этих объектов; Вы бы создали бы UIPopoverController
вот так: [NSClassFromString(@"UIPopoverController") alloc]
.
Это нормально для создания этих классов в коде, но как насчет протоколов и их методов? Мое приложение iPad использует UISplitViewController
и имеет класс, который должен соответствовать UISplitViewControllerDelegate
а также UIPopoverControllerDelegate
. Отказ Как бы вы объявили это? И как бы вы работали с таким методом, как следующее?
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
где требуется вызов метода UISplitViewController
быть переданным?
Решение 2
И, как это, я вижу, что это не проблема, если вы слабая ссылка Uikit Framework. Я нашел это прямо здесь Переполнение стека.
Другие советы
Вы можете оставить это там, так как они UISplitViewController*
ETC служит только в качестве типа для компилятора для проверки типов (в отличие от [UISplitViewController alloc]
какой фактический символ должен быть связан).
Добавить @class UISplitViewController, UIPopoverController;
В начале файла, если он не скомпилируется.