2009-07-27 19 views
0

Ich habe zwei View-Controller (viewControllerA und viewControllerB) mit eigenen Ansichten. Wenn der Benutzer eine Schaltfläche in der Ansicht viewControllerA berührt, kann ich die Ansicht der viewControllerB laden.Methode in einer anderen Klasse aufrufen

Allerdings kann ich nicht eine Methode in viewControllerB Klasse aufrufen!

+0

Sie sind nicht klar. Möchten Sie Methoden von viewControllerA aufrufen, während Sie sich in B befinden, oder wenn Sie Ihre viewControllerB-Methoden aufrufen möchten, sobald diese auf das Gerät übertragen wurden? –

+0

Sorry für die Verwirrung. Ich möchte Methode in ViewControllerB von ViewControllerA aufrufen. Hoffe, das macht Sinn! Sam. –

Antwort

0

Ohne viel Info gehe ich davon aus, dass sowohl A & B von der gleichen Klasse sind (obwohl sie nicht sein müssten). Man konnte immer eine Eigenschaft deklarieren, die dann von einem zum anderen Punkt würde:

MyViewController.h:

@interface MyViewController : UIViewController { 
    MyViewController *altViewController; 
} 

@property (nonatomic, retain) MyViewController *altViewController 
@end 

Seien Sie sicher, dass, sobald instanziiert Sie füllen diese Eigenschaft mit einem Zeiger auf den anderen VC. Dann können Sie einfach eine Methode auf dem anderen View-Controller einfach aufrufen: [altViewController doMethod];

+0

Hallo - Danke für die Antwort. Da ich ein Noob bin, habe ich harte Zeit mit Ihrem Vorschlag. Kannst du bitte - bitte schön - gib ein Beispiel! Vielen Dank im Voraus. Sam –

+1

VCA mit einem Zeiger auf VCB einrichten, wie ich oben gezeigt habe. Dann, nachdem Sie VCB mit etwas instanziiert haben wie: MyViewController * vcb = [[MyViewController Alloc] init] // oder initWithNibName; Dann musst du VCA's altViewController auf VCB zeigen: self.altViewController = vcb; Es ist schwer, viel weiter zu gehen, ohne zu wissen, was genau du versuchst zu tun? Werden beide VCs Daten gleichzeitig präsentieren? Vielleicht sieht jeder kleine UIViews auf dem Bildschirm? Oder wird einer aus dem Weg geschoben, wenn der andere angezeigt wird. Sie könnten einige der iPhone-Tutorials ausprobieren, die im Internet verfügbar sind. – Meltemi

+0

Um zu verdeutlichen, wenn VCB geladen ist, wird VCA entladen und umgekehrt. Und ja, die VCs haben ihre eigenen Ansichten. Aber vielen Dank für Ihre Erklärung und Ihr Beispiel. Ich werde damit spielen und dich wissen lassen. –

Verwandte Themen