我正在查看一些Apple示例代码,用于2014年WWDC会议和带有集合视图的高级用户界面'并且遇到了一个看起来如下的弱自我声明:
__weak typeof(&*self) weakself = self;
我的问题是:声明中的& * 是什么意思?为什么不只是:
__weak typeof(self) weakself = self;
感谢您的帮助。
答案 0 :(得分:0)
为什么不只是:
__弱类型(自我)弱自己=自我;
你可以。这是正常的做法。一些以前版本的编译器没有正确处理它,但很久以前就已经修复了。
答案 1 :(得分:-1)
self
是MyInstance *
。当您说*self
时,您将取消引用self*
取回self
。然后当你拿走&(*self)
时,你会抓住内存地址。