在 Interface Builder I 中的 Library->Classes 中,当我选择我在 XCode 中创建的类,然后显示 Actions 时,我可以看到两个同名:
foo
foo:
这两个 foo 有什么区别?
在 Interface Builder I 中的 Library->Classes 中,当我选择我在 XCode 中创建的类,然后显示 Actions 时,我可以看到两个同名:
foo
foo:
这两个 foo 有什么区别?
foo
是一种不接受任何参数的方法。foo:
将一个或多个参数传递给它的方法。
例子:
-(IBAction)foo;
将如foo
IB 所示。
-(IBAction)foo:(id)sender;
将如foo:
IB 所示。
我不知道为什么他们有相同的名字,你是这样设置的吗?
IB 假设如果您使用 IB 创建类文件,您将使用发送者,因此它会创建构造
-(IBAction)foo:(id)sender;
您通常需要有关发件人的信息,因此我会坚持使用该结构。如果您在实现中不需要发送者,只需忽略它。
-(IBAction)foo:(id)sender {
[someObject doAMethod];
}