【发布时间】:2012-09-09 06:29:13
【问题描述】:
我有一个 NSTextField 可以根据结果重新填充自己;我想自动执行 IBAction(通常通过单击应用程序中的 NSButton 来控制)。如何根据结果自动执行点击或 IBAction?
appDelegate.h
@interface main : NSView <NSApplicationDelegate>
{
NSView *main;
IBOutlet NSTextField *textValue;
IBOutlet NSWindow* window1;
IBOutlet NSWindow* window2;
}
- (void)textUpdated;
- (IBAction)switchWindow:(id)sender;
我想触发或绑定到 (IBAction)switchWindow:
appDelegate.m
- (void)textUpdated
{
[textValue setStringValue:[NSString stringWithFormat:@"%@, Switching Window", stringValue]];
[self switchWindow:sender];
}
- (IBAction)switchWindow:(id)sender {
[self performSelector:[NSApp keyWindow]==window?@selector(openWindow):@selector(closeWindow) withObject:nil afterDelay:0.0];
}
- (void)openWindow {
[window1 showWindow:window2 open:YES];
}
- (void)closeWindow {
[window2 showWindow:window1 open:NO];
}
【问题讨论】:
-
@NULL,如果是用于 iOS 则可能 - 这是用于 Mac OS X (Cocoa);谢谢
-
您希望从
somethingVoid调用doSomething:?就叫吧。这是一种和其他方法一样的方法。 -
@JoshCaswell,它似乎没有任何效果——当像
[self doSomething:nsview];这样使用时有什么想法吗? -
请发布您的实际代码而不是编造示例,并说明您真正想要完成的工作。
标签: objective-c cocoa binding