Ios 调用外部对象方法的ViewController

Ios 调用外部对象方法的ViewController,ios,objective-c,c,Ios,Objective C,C,让我首先解释一下这里的上下文。我正在使用Xcode 4.6开发一个iOS 6.1应用程序。我创建了一个表视图控制器,其中连接了4个视图。第一个视图是main视图,我正在处理这个视图 现在我在主视图上有两个按钮。一个yes和一个no按钮。我已经创建了一个viewcontroller\u main子类,并通过在identity inspector中更改其类将其连接到我的main视图 我创建了自己的类myclass,它有一个名为go的函数。在我的viewcontroller\u main.h中,我添加

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

现在我在
主视图上有两个按钮。一个
yes
和一个
no
按钮。我已经创建了一个
viewcontroller\u main
子类,并通过在identity inspector中更改其类将其连接到我的
main
视图

我创建了自己的类
myclass
,它有一个名为
go
的函数。在我的
viewcontroller\u main.h
中,我添加了一个
-(iAction)按钮\u no
,另一个按钮用于是。然后,我通过单击
main
视图并通过connections inspector将功能连接到按钮来链接它们

这就是我的问题所在。我的
yes
按钮当前仅通过NSLog将“yes”记录到控制台,即

//viewcontroller_main.m

- (IBAction)button_yes {
    NSLog(@"Yes was pressed");
}
但是,“我的
no
按钮创建一个对象
myclass*myname
,然后它执行
myname.go
。我有另一个
NSLog
函数,在
myclass.m
文件中的
go
方法实现中显示“no”

//viewcontroller_main.m

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

//myclass.m

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

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

首先,类应该始终大写。因此,您应该使用
ViewController\u main
Myclass

其次,当你做
myclass*myname您没有创建对象。如果要打印出
myname
NSLog(@“%@”,myname)
),您会发现它是零。尽管如此,请尝试以下方法:

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

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn!希望你喜欢iOS开发@米凯。