Objective-C中的weakself声明

4

我在查看苹果公司2014年WWDC演示文稿“高级用户界面与集合视图”时,发现了一个弱引用的声明,如下所示:

__weak typeof(&*self) weakself = self;

我的问题是:在声明中,&*代表什么意思?为什么不只用:

__weak typeof(self) weakself = self;

感谢您的帮助。

@bikram990 如何增加保留计数?只是将其分配给弱引用吗?您能详细解释一下吗?我不明白它是如何可能的。 - Andrey Chernukha
请参见 https://dev59.com/pWgv5IYBdhLWcg3wCcaZ。 - matt
@AndreyChernukha 我的错误,忘记了 __weak 只是赋值。 - bikram990
2个回答

0
为什么不直接这样写呢: __weak typeof(self) weakself = self;
可以这样写,这是正常的做法。之前的编译器版本可能无法正确处理它,但那已经在很久以前修复了。

-1

self 是一个 MyInstance *。当你说 *self 时,你正在取消引用 self* 并返回 self。然后,当你取 &(*self) 时,你正在获取内存地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接