我看到了两种不同的实现方式...

__weak UIDataType *weakSelf = self;


UIDataType __weak *weakSelf = self;

然而他们俩似乎都在工作。引擎盖下发生的事情是否有所不同?

在此先感谢您的智慧!

最佳答案

没有区别。由于__weak仅适用于指针到对象的类型,因此编译器认识到只有一种含义适用于以下所有方面:

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

其他所有权限定符(__strong__autoreleasing等)也是如此

如果您愿意阅读编程语言的技术规范,则可以在这里阅读有关它的更多信息:http://clang.llvm.org/docs/AutomaticReferenceCounting.html#spelling

10-05 20:26