我看到两种不同的实现......
__weak UIDataType *weakSelf = self;
和
UIDataType __weak *weakSelf = self;
然而他们似乎都有效。引擎盖下发生的事情是否存在差异?
提前感谢您的智慧!
答案 0 :(得分:4)
没有区别。由于__weak
只能应用于指针到对象类型,因此编译器会认识到只有一个含义对以下所有内容都有意义:
__weak UIDataType *weakSelf;
UIDataType __weak *weakSelf;
UIDataType * __weak weakSelf;
这同样适用于其他所有权限定符(__strong
,__autoreleasing
等。)
如果您习惯阅读编程语言的技术规范,可以在此处阅读更多相关信息:http://clang.llvm.org/docs/AutomaticReferenceCounting.html#spelling。