Domanda

Come si scrive un'applicazione universale che le classi usi introdotto in iPhone OS 3.2, come ad esempio UIPopoverController e UISplitViewController? Sul blog di Jeff LaMarche su questo, Ole fornisce un metodo per istanziare questi oggetti; si potrebbe creare un'istanza di un UIPopoverController in questo modo: [NSClassFromString(@"UIPopoverController") alloc].

Questo va bene per istanziare queste classi nel codice ma per quanto riguarda i protocolli e le loro metodi? Il mio iPad utilizza un UISplitViewController e ha una classe che deve conformi alla UISplitViewControllerDelegate e UIPopoverControllerDelegate. Come si dichiara questo? E come è possibile lavorare con un metodo come il seguente?

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

in cui la chiamata metodo richiede UISplitViewController da passare in?

È stato utile?

Soluzione 2

E, proprio così, vedo che questo non è un problema se si debole legame quadro UIKit. Ho trovato questo proprio qui su Stack Overflow .

Altri suggerimenti

È possibile lasciarlo lì, dal momento che questi UISplitViewController* ecc serve solo come tipo per il compilatore di fare tipo-controllo (a differenza [UISplitViewController alloc] che un vero e proprio bisogno di simboli per essere collegato).

Aggiungi un @class UISplitViewController, UIPopoverController; all'inizio del file se non viene compilato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top