6

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

__weak UIDataType *weakSelf = self;

UIDataType __weak *weakSelf = self;

然而,它们似乎都有效。引擎盖下发生的事情有什么不同吗?

提前感谢您的智慧!

4

1 回答 1

4

没有区别。由于__weak只能应用于指向对象的类型,编译器认识到只有一种含义对以下所有内容有意义:

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

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

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

于 2012-12-19T20:16:46.440 回答