2011-01-13 28 views
2

In Cocoa/Objective-C, wenn ich eine Schaltfläche programmgesteuert erstellt habe, was ich für meine Steuerelementereignis eingeben?Cocoa forControlEvents: WHATGOESHERE

[btnMakeChar addTarget:self action:@selector(makeChar:) forControlEvents:WHAT GOES HERE?]; 

In iOS können Sie es schreiben, wie so forControlEvents: UIControlEventTouchUpInside

ich nichts finden, um zu zeigen, was ich für nur Kakao verwenden würde, ohne Kakao Touch

Antwort

12

Ich bin nicht sicher wenn ich Sie richtig verstehe, aber wenn Sie einen Mac-Programmierung,

[theHappyButton setTarget:self]; 
[theHappyButton setAction:@selector(doStuff)]; 

es zwei getrennte Linien, anstatt die eine kombinierte Zeile Code auf einem iPhone.

Ich hoffe, dass Sie danach waren ??

Um es in der doco zu finden: Wählen Sie auf der 10.6 doco (nicht iOS) und suchen Sie nach "setAction:". Sie sehen es in der NSControl Klassenreferenz. NSButton ist natürlich eine Unterklasse von NSControl.

+0

genau, danke. Wo in den Unterlagen würde ich das finden? – PruitIgoe

+0

Siehe mein Beitrag unten, Code kompiliert, aber läuft nicht ... – PruitIgoe

2

Die Methode, nach der Sie fragen, existiert in Cocoa nicht, daher ist dort nichts möglich. Cocoa-Steuerelemente haben ein einzelnes Ziel mit einer einzigen Aktion und verwenden entweder eine andere Methode des Typs addTarget: für jede Art von Aktion oder erwarten ein Delegate-Objekt, das alle von ihnen generierten Ereignisse verarbeitet.

+0

Äh, warum wurde das heruntergeregelt? – Chuck