我应该将其声明为
(#1)ClassName * __block variableName
或
(#2)__block ClassName * variableName
我看到很多代码使用格式#2,包括Apple' Blocks Programming Topics。
但最近我找到了Apple" Transitioning to ARC Release Notes"表示:
您应该正确装饰变量。在对象变量声明中使用限定符时,正确的格式为:
ClassName * qualifier variableName;
例如:
MyClass * __weak myWeakReference;
其他变体在技术上是不正确的,但编译器“原谅”了。要了解此问题,请参阅http://cdecl.org/。
所以我很困惑,将来我应该使用哪种格式?
答案 0 :(得分:2)
它们基本相同。我个人更喜欢将__block
放在开头,因为它比变量的类型更重要