2010-12-15 5 views
3

Hier ist die Methode, die ich anrufen möchten:Call "(id) sender" Methode in Xcode

- (void)myMethod:(id)sender { 

Wie würde ich es nennen? Ich habe versucht:

[self myMethod] 

^Fehler: Erwartete Expression vor "]" Token.

Ich weiß, dass dies eine einfache Frage, aber ich bin neu auf iPhone Entwicklung

Antwort

12

Das Verfahren nimmt einen Parameter, so muss man ihm eine geben. Wenn Sie keinen Absender Sie geben möchten haben, geben Sie einfach nil:

[self myMethod:nil];

Sie auch die Methode als Bequemlichkeit überlasten könnte:

// declarations 
- (void)myMethod; 
- (void)myMethod:(id)sender; 

// implementations 
- (void)myMethod { [self myMethod:nil]; } 
- (void)myMethod:(id)sender { /* do things */ } 
+0

Fest Ihre Implementierung; gute Antwort. – bbum

+0

@bbum: Du hast mein Beispiel repariert, während ich es bearbeitet habe, um es zu reparieren. Lol. Danke, Mann –

1

Sie müssen entlang einem Sender zu übergeben, wenn Sie anrufen es.

Mit anderen Worten, Sie müssen ein Argument übergeben, wenn Sie die Methode aufrufen.

4

Es sei denn, man wollte eine nicht spezifizierte Typ Objekt in den Verfahren schicken Sie brauchen nicht die (id)sender Teil:

- (void)myMethod { 

}