Question

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

Ceci est bien pour instancier ces classes dans le code, mais qu'en protocoles et leurs méthodes? Mon application iPad utilise une UISplitViewController et a une classe qui doit se conformer à la UISplitViewControllerDelegate et UIPopoverControllerDelegate. Comment voulez-vous déclarer? Et comment voulez-vous travailler 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 exige UISplitViewController à passer en?

Était-ce utile?

La solution 2

Et, comme ça, je vois que ce n'est pas un problème si vous faible liaison le cadre UIKit. J'ai trouvé ce ici sur Stack Overflow .

Autres conseils

Vous pouvez le laisser là, puisque ceux-ci UISplitViewController* etc ne sert que comme un type pour le compilateur de faire la vérification de type (contrairement [UISplitViewController alloc] qui un besoin de symboles réels être liés).

Ajouter un @class UISplitViewController, UIPopoverController; au début du fichier si elle ne compile pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top