Parametrisierte UIButton Aktion Wahlschalter für die Methode in einer anderen Klasse?
Dies ist weitgehend eine syntaktische Frage. Wie funktioniert ein Satz den UIButton action selector aufrufen einer Methode einer anderen Klasse? Ich habe eine #import der Klasse, deren Methoden, die ich benötigen, rufen Sie mit der Taste, und ich habe die folgenden teilweise Verständnis von dem, was das button-code sollte wie folgt Aussehen:
UIButton *btnSplash = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnSplash.frame = CGRectMake(250, 270, 180, 30);
[btnSplash setTitle:@"Menu" forState:UIControlStateNormal];
[btnSplash addTarget:self action:@selector([CLASS METHOD:PARAMETER]) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:btnSplash];
Allerdings bekomme ich den folgenden Fehler:
erwartet ':' before '[' token
Methode name fehlt in @selector
Den Beispiel-code, den ich gesehen habe in der Referenz-library ruft die lokalen Methoden, so bin ich versucht, zu verallgemeinern und meine versuche bislang fruchtlos.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Selektor ist eine Darstellung einer Methode, unabhängig davon, welche Klassen oder Kategorien, die es umsetzen.
Sagen, Sie haben eine Klasse namens
AnotherClass
implementiert die Methode- (void)doSomething:(id)sender
. Der entsprechende Selektor istdoSomething:
, dargestellt im code als@selector(doSomething:)
. Wenn Sie möchten, dass die Taste Aktion, um die Methode aufruft, müssen Sie eine Instanz derAnotherClass
— und es ist diese Instanz, die die Aktion Ziel, stattself
. Daher sollte Ihr code haben:tag
Eigenschaft vonUIView
.