根据 Cocoa Programming for Mac OS X,3rd Edition ,第245页(第17章),您通常会在Interface Builder中创建视图。但是,可以在代码中创建它们,la:
NSView *superview = [window contentView];
NSRect frame = NSMakeRect(10, 10, 200, 100);
NSButton *button = [[NSButton alloc] initWithFrame:frame];
[button setTitle:@"Click me!"];
[superview addSubview:button];
[button release];
这一切都很好,但是如何将控件的出口连接到代码中的操作? (在.NET中,这是一件容易的事;添加一个委托......我希望它在Cocoa / Obj-C中同样容易。)
答案 0 :(得分:25)
您可以使用简单的作业连接它们。要继续上面的代码:
[button setTarget: self];
[button setAction: @selector(myButtonWasHit:)];
答案 1 :(得分:11)
如果您想要定位第一个响应者而不是特定对象:
[button setTarget:nil];
[button setAction:@selector(myAction:)];
答案 2 :(得分:1)
夫特:
button.target = self
button.action = "myAction:"
当然,将myAction功能添加到自己:
func myAction(sender: NSButton) {
println("click!")
}