Aufrufen einer Funktion aus einer anderen view-controller für iphone
Ich habe ein problem wo ich will, nennen eine Funktion definiert, die in einer view-controller von einem anderen controller.
I ' V versucht, was scheint llke hundert verschiedene setups und nichts scheint zu funktionieren.
Ich gebucht habe, die basic-code, und hatte gehofft, jemand könnte mir sagen, wie Sie es tun würde.
Im Grunde alles was ich will zu tun ist, rufen Sie die MYBPress definierte Funktion in der SwitchViewController aus der
GameViewController, wenn die dealB-Taste gedrückt wird. Jegliche Hilfe würde sehr geschätzt werden.
PS: ich habe kodiert für eine lange Zeit, aber bin realtivly neue zu Obj-C
//------- SwitchViewController.h ---------------
#import <UIKit/UIKit.h>
@class GameViewController;
@class OptionsViewController;
@interface SwitchViewController : UIViewController {
OptionsViewController *optionsViewController;
}
@property ( retain, nonatomic ) OptionsViewController *optionsViewController;
@property ( retain, nonatomic ) GameViewController *gameViewController;
-(IBAction)MyBPress:(id)sender;
@end
// -------- GameViewController.h ------------
#import <UIKit/UIKit.h>
@interface GameViewController : UIViewController {
IBOutlet UIButton *dealB;
}
@property(nonatomic,retain) IBOutlet UIButton *dealB;
- (IBAction)dealB:(id)sender;
@end
// ------- GameViewController.m
#import "GameViewController.h"
@implementation GameViewController
@synthesize dealB; //The Deal button
- (IBAction)dealB:(id)sender
{
// Here is where I want to call the MyBPress function
}
@end
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Hi Alle, ich habe ein problem wo ich will, nennen eine Funktion definiert, die in einer view-controller von einem anderen controller. I ' V versucht, was scheint llke hundert verschiedene setups und nichts scheint zu funktionieren."
Dies ist, weil es ist schlechtes design. Controller sollten nicht direkt miteinander reden.
Sollten Sie erwägen, die Verwendung von Stellvertretern, Benachrichtigungen oder einige gemeinsam genutzte zentrale Instanz.
Warum nicht einfach über eine Taste zum senden von Nachrichten direkt an Ihre jeweiligen Controller? Instanzen von UIButton sind von Natur aus in der Lage das senden mehrere Nachrichten an mehrere Ziele. Konfigurieren Sie die Taste, Sie können, senden Sie die folgende Nachricht so oft wie nötig:
Können Sie auch Draht den Knopf im Interface Builder zu tun die gleiche Sache. Oder mix and match, um Ihre Herzen Inhalt.