__weak UIDataType * weakSelf和UIDataType __weak * weakSelf之间的区别?

时间:2012-12-19 19:54:07

标签: iphone objective-c ios

我看到两种不同的实现......

__weak UIDataType *weakSelf = self;

UIDataType __weak *weakSelf = self;

然而他们似乎都有效。引擎盖下发生的事情是否存在差异?

提前感谢您的智慧!

1 个答案:

答案 0 :(得分:4)

没有区别。由于__weak只能应用于指针到对象类型,因此编译器会认识到只有一个含义对以下所有内容都有意义:

__weak UIDataType *weakSelf;
UIDataType __weak *weakSelf;
UIDataType * __weak weakSelf;

这同样适用于其他所有权限定符(__strong__autoreleasing等。)

如果您习惯阅读编程语言的技术规范,可以在此处阅读更多相关信息:http://clang.llvm.org/docs/AutomaticReferenceCounting.html#spelling