2010-12-15 178 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 { 

}