0

在 Interface Builder I 中的 Library->Classes 中,当我选择我在 XCode 中创建的类,然后显示 Actions 时,我可以看到两个同名:

foo
foo:

这两个 foo 有什么区别?

4

2 回答 2

2

foo是一种不接受任何参数的方法。foo:将一个或多个参数传递给它的方法。

例子:

-(IBAction)foo;

将如fooIB 所示。

-(IBAction)foo:(id)sender;

将如foo:IB 所示。

我不知道为什么他们有相同的名字,你是这样设置的吗?

于 2010-08-21T04:22:29.673 回答
1

IB 假设如果您使用 IB 创建类文件,您将使用发送者,因此它会创建构造

-(IBAction)foo:(id)sender;

您通常需要有关发件人的信息,因此我会坚持使用该结构。如果您在实现中不需要发送者,只需忽略它。

-(IBAction)foo:(id)sender {
    [someObject doAMethod];
}
于 2010-08-21T21:50:32.073 回答