2012-07-01 79 views
7

我剛剛讀another answer這個片段:當你創建一個^{}語法塊塊語法目標C

...

我明白這句法,並定期使用它,但是我從中推斷出可能有其他語法可用於創建塊。在那兒?如果有的話,是否有不同語法的優點?

回答

5

通過查看here我想唯一的區別是,如果你使用的返回類型/參數

+0

這是我正在尋找的簡潔答案。 –

12

如果你的問題是關於塊文字語法(一個用於匿名函數),這裏的一般形式

^返回類型(參數列表){表達式}基於

在這一點,你可以省略返回類型

^(參數列表){}表達式

因爲它可以從返回類型推斷。如果沒有返回值,則可以選擇void

此外,你可以寫

^{}表達

如果沒有參數。

這是一樣的

^ void (void) { NSLog(@"Something"); } 
+0

@JoshCaswell感謝您的格式。看起來更好。 –

+0

爲什麼我有時會看到類型在'^'之前? – Philip007

+0

@ Philip007對不起,你的意思是?我不明白你在問什麼。 –