从与nsView连接的按钮操作中调用appDelegate中的方法

时间:2013-02-28 14:47:36

标签: objective-c xcode macos nsview nstextfield

这是我的问题。我有一个NSTextField连接到我的应用程序委托。然后我在我的MainManu.xib中有一个CustomView,它与我创建的新类,“myView”,NSView的子类相关联。最后一个Button触发myView.h中声明的动作。 (我从按钮拖放到自定义视图并选择动作pushFromView) 此操作以myView.m实现:

 -(IBAction)pushFromView:(id)sender{
    [self.myApp getMeFromView];
}

myApp是AppDelegate的一个实例,它包含getMeFromView方法,该方法应该从文本字段中获取文本并进行记录。

#import "GTAppDelegate.h"

@implementation GTAppDelegate
@synthesize myText;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application
}  

-(void)getMeFromView{
    NSLog(@"valuefromView= %d",[myText intValue]);
}
@end

现在,只要按下按钮,它就会触发方法,但即使文本字段填充了数字,它也会返回零。相反,如果我创建一个与appDelegate中的动作相关联的按钮,它可以正常工作。

myApp的一个实例在myView标头和属性中声明。

我有点新秀,所以也许我以不正当的方式解释自己。我希望你能得到它。 在此先感谢您的帮助。

卢卡

1 个答案:

答案 0 :(得分:0)

仅使用[myApp getMeFromView]代替[self.myApp getMeFromView]