2010-05-05 4 views
0

Comment écrire une application universelle qui utilise des classes introduites dans iPhone OS 3.2, telles que UIPopoverController et UISplitViewController? Sur le blog de Jeff LaMarche à ce sujet, Ole fournit une méthode pour instancier ces objets; vous instancieriez un UIPopoverController comme ceci: [NSClassFromString(@"UIPopoverController") alloc].Travailler avec iPhone OS 3.2 classes seulement

C'est très bien pour instancier ces classes dans le code mais qu'en est-il des protocoles et de leurs méthodes? Mon application iPad utilise un UISplitViewController et a une classe qui doit se conformer aux UISplitViewControllerDelegate et UIPopoverControllerDelegate. Comment le déclareriez-vous? Et comment travailleriez-vous avec une méthode telle que la suivante?

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc

où l'appel de méthode nécessite UISplitViewController à passer en?

Répondre

0

Et, juste comme ça, je vois que ce n'est pas un problème si vous faîtes un lien faible avec le framework UIKit. Je l'ai trouvé ici au Stack Overflow.

0

Vous pouvez le laisser là, puisque ces UISplitViewController* etc sert uniquement de type pour le compilateur à faire une vérification de type (contrairement à [UISplitViewController alloc] dont un symbole réel doit être lié).

Ajoutez un @class UISplitViewController, UIPopoverController; au début du fichier s'il ne compile pas.

Questions connexes