Работа с iPhone OS 3.2 только классы - PullRequest
0 голосов
/ 05 мая 2010

Как бы вы написали универсальное приложение, которое использует классы, представленные в 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 ]

0 голосов
/ 05 мая 2010

И точно так же я вижу, что это не проблема, если вы слабо связываете фреймворк UIKit. Я нашел это прямо здесь на Переполнение стека .

0 голосов
/ 05 мая 2010

Вы можете оставить его там, так как эти UISplitViewController* и т. Д. Служат только типом для компилятора, который выполняет проверку типов (в отличие от [UISplitViewController alloc], с которым должен быть связан фактический символ).

Добавьте @class UISplitViewController, UIPopoverController; в начале файла, если он не компилируется.

...