ViewController调用外部对象方法

时间:2013-10-26 00:55:11

标签: ios objective-c c

首先让我解释一下背景。我正在使用Xcode 4.6开发iOS 6.1应用程序。我创建了一个表视图控制器,其中我连接了4个视图。第一个视图是main视图,我正在处理的视图。

现在我在main视图上有两个按钮。一个yes和一个no按钮。我创建了一个viewcontroller_main子类,并通过在身份检查器中更改其类来将其连接到我的main视图。

我创建了自己的班级myclass,其中有一个名为go的函数。在我的viewcontroller_main.h中,我添加了一个-(IBAction)button_no,另一个用于赞成。然后,我通过单击main视图并通过连接检查器将功能连接到按钮来链接它们。

现在这就是我的问题所在。我的yes按钮当前只是通过NSLog向​​控制台记录'是',即

//viewcontroller_main.m

- (IBAction)button_yes {
    NSLog(@"Yes was pressed");
}

但是,我的no按钮会创建一个对象myclass* myname,然后它会myname.go。我有另一个NSLog函数在go文件的myclass.m方法实现中显示“no”。

//viewcontroller_main.m

- (IBAction)button_no {
    myclass* myname;
    myname.go;
}

//myclass.m

- (void)go {
    NSLog(@"no was pressed")
}

您如何解释这种行为?调用myname.go时为什么看不到控制台日志?

1 个答案:

答案 0 :(得分:1)

首先,类应始终大写。因此,您应该使用ViewController_mainMyclass

其次,当你执行myclass* myname;时,你不是在创建一个对象。如果您要打印mynameNSLog(@"%@", myname)),您会发现它是零。话虽这么说,尝试类似的事情:

myclass* myname = [[myclass alloc] init];