2010-12-15 179 views
3

这里“(ID)发送”的方法是我想调用的方法:呼叫在Xcode

- (void)myMethod:(id)sender { 

我将如何称呼呢?我试过了:

[self myMethod] 

^错误:在“]”令牌之前的期望表达式。

我知道这是一个简单的问题,但我是新来的iPhone开发

回答

12

方法接受一个参数,所以你必须给它一个。如果您有想给没有发件人,只是通过零:

[self myMethod:nil];

你也可以重载方法作为一种方便:

// declarations 
- (void)myMethod; 
- (void)myMethod:(id)sender; 

// implementations 
- (void)myMethod { [self myMethod:nil]; } 
- (void)myMethod:(id)sender { /* do things */ } 
+0

固定的执行情况;好答案。 – bbum 2010-12-15 23:47:24

+0

@bbum:当我编辑它来修复它时,你修正了我的示例。谢啦 – 2010-12-15 23:47:41

1

你需要沿着当你调用一个发送者通过它。

[self myMethod:something] 

换句话说,当您调用方法时,您需要传递一个参数。

4

除非你想非指定类型的对象发送到你的方法,你不需要(id)sender部分:

- (void)myMethod { 

}