Arbeiten mit iPhone OS 3.2 nur Klassen
-
03-10-2019 - |
Frage
Wie würden Sie ein Universal-App schreiben, dass Anwendungen Klassen eingeführt in iPhone OS 3.2, wie UIPopoverController
und UISplitViewController
? Auf Jeff LaMarche Blog über diese stellt Ole eine Methode, um diese Objekte zu instanziieren; UIPopoverController
: Sie würden eine [NSClassFromString(@"UIPopoverController") alloc]
wie so instanziiert.
Das ist in Ordnung für diese Klassen in Code instanziieren aber was Protokolle und die Methoden? Mein iPad App nutzt eine UISplitViewController
und hat eine Klasse, die Bedürfnisse der UISplitViewControllerDelegate
und UIPopoverControllerDelegate
anzupassen. Wie würden Sie diese erklären? Und wie würden Sie bei einem Verfahren arbeiten, wie die folgenden?
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
, wo der Aufruf der Methode UISplitViewController
erfordert in weitergegeben werden?
Lösung 2
Und einfach so, ich sehe, dass dies kein Problem ist, wenn man schwach koppel der UIKit Rahmen. Ich fand diese hier auf Stack-Überlauf .
Andere Tipps
Sie können es dort lassen, da diese UISplitViewController*
usw. nur als Typ für den Compiler dient Typprüfung (im Gegensatz zu [UISplitViewController alloc]
, die ein tatsächliches Symbol Bedürfnisse verknüpft werden).
Fügen Sie einen @class UISplitViewController, UIPopoverController;
am Anfang der Datei, wenn es nicht kompilieren lässt.