2
A
回答
7
德米特里的答案是完全正確的。塊語法當成一個C函數聲明:
// C function -> <return type> <function name> (<arguments>)
void someFunction(void)
{
// do something
}
// block -> <return type> (^<block variable name>) (<arguments>)
void (^someBlock)(void) = ^{
// do something
};
又如:
// C function
int sum (int a, int b)
{
return a + b;
}
// block
int (^sum)(int, int) = ^(int a, int b) {
return a + b;
};
所以只是覺得塊語法爲C函數聲明: 首先返回類型int
,那麼塊變量的名稱(^sum)
,然後參數類型列表(int, int)
。
但是,如果你需要經常在你的應用程序特定類型的塊,使用typedef:
typedef int (^MySumBlock)(int, int);
現在,您可以創建MySumBlock
類型的變量:
MySumBlock debugSumBlock = ^(int a, int b) {
NSLog(@"Adding %i and %i", a, b);
return a + b;
};
MySumBlock normalSumBlock = ^(int a, int b) {
return a + b;
};
。希望幫助:)
2
只是阻止語法
void (^someBlock)(void) = ^{
//some code
};
+0
給你一個答案upvote,但我覺得像其他人可能會幫助,如果它的頂部。謝謝德米特里 – 2013-04-23 09:11:25
相關問題
- 1. 實例化實例變量爲塊
- 2. ARC和UIView實例變量
- 3. Java實例初始化塊和實例變量
- 4. Ruby:實例化塊中的新變量
- 5. 初始化塊實例變量
- 6. 如何將我的AppDelegate定義爲它實例化的類的實例變量?
- 7. ARC分配實例變量init或awakeFromNib
- 8. arc,強和弱的實例變量
- 9. ARC不會發布實例變量
- 10. Objective C ARC和實例變量iOS SDK
- 11. 在RSpec中,如何將實例變量傳遞給示例塊?
- 12. 塊中的實例變量
- 13. 參考實例變量塊
- 14. 類塊實例變量
- 15. 如何使用實例化變量隱藏接口變量
- 16. 實例化空csv變量
- 17. 實例化被聲明爲實例變量的ArrayList
- 18. 如何實例化一個變量?
- 19. 如何迭代實例變量中的實例變量?
- 20. 變量將被實例化多次
- 21. 使用實例變量
- 22. 使用實例變量&self.variable
- 23. JavaScript:如何使用實例變量
- 24. 如何使用實例變量?
- 25. 如何將類實例化爲變量名?
- 26. 實例變量
- 27. 實例變量
- 28. 實例變量
- 29. 實例變量
- 30. 實例變量
非常棒的答案約翰內斯,謝謝你的概念性演練 – 2013-04-23 09:10:50
高興地幫助:)我花了我一段時間圍繞塊語法繞我的頭:) – 2013-04-23 09:15:25