这是关于目标c和可可的
我遇到了一个问题,不知道如何解决。希望我能在这里找到答案,这对其他一些程序员会有帮助。
所以,我有一个包含 4 个元素的简单窗口:
- NSTextField - 设置值的第一个字段
- NSButton - 在第一个字段中设置值
- NSTextField - 设置值的第二个字段
- NSButton - 在第二个字段中设置值
这是“控制器1”代码:
#import "controller2.h"
@interface controller1 : NSControl{
IBOutlet NSTextField * text1;
}
-(IBAction)click:(id)sender;
@end
@implementation controller1
-(IBAction)click:(id)sender
{
[text1 setStringValue:@"text1 changed"];
// create controller 2 instance
controller2 * c2 = [[[controller2 alloc] init] autorelease];
// call first time using one way
[c2 click:self];
// call second time using another way
[self sendAction:@selector(click:) to:c2];
}
@end
和控制器 2 代码:
@interface controller2 : NSControl{
IBOutlet NSTextField * text2;
}
-(IBAction)click:(id)sender;
@end
@implementation controller2
-(IBAction)click:(id)sender
{
[text2 setStringValue:@"text 2 changed"];
NSLog(@"Test2");
}
@end
当我点击button1时,我在controller1中发出“点击”-一切都很好并且工作正常
当我单击按钮 2 时,我在控制器 2 中发出“单击”-一切都很好并且工作正常
但是,如果我想单击按钮 1 并在控制器 2 中单击“单击”,则它不起作用(
任何人都可以帮忙吗?它似乎有一个非常简单的解决方案,但我不知道我做错了什么。