2013-07-12 61 views
1

我想了解如何客觀C塊工作。目標C塊執行和重用

據我所知:塊只是一個沒有名字的函數。

因此,例如:

^(int a, int b) { return a + b; }; 
  1. 我怎樣才能調用它?

  2. 我可以多次使用它,因爲我會使用函數嗎?如果我可以那麼如何?

  3. 要在哪個類中將「self」關鍵字引用到塊內部?

任何幫助,高度讚賞。

+2

你讀過[*塊編程主題*](http://developer.apple.com/library/ios/#文檔/可可/概念/塊/條/ 00_Introduction.html#// apple_ref/DOC/UID/TP40007502-CH1-SW1)?它充滿了像你這樣的問題的答案。 –

+3

當你試圖自己回答這些問題時發生了什麼? –

+1

當你使用Google時,它會受傷嗎? –

回答

3
- (void)something 
{ 
    void (^ sample)(void) = ^{ 
     NSLog(@"I am %@", self); 
    }; 

    sample(); 
    sample(); 
} 

...或多個與樣品保留:

int (^ adder)(int a, int b) = ^(int a, int b) { return a + b; }; 
NSLog(@"Result: %d", adder(5, adder(5, 4)));