Lavorare con iPhone OS 3.2 solo le classi
-
03-10-2019 - |
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?
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.