【发布时间】:2012-06-09 04:17:29
【问题描述】:
我正在尝试找出一种方法来使用 typeof 创建对 self 的弱引用,以便在块中使用以避免保留循环。
当我第一次读到这个时,似乎约定是使用__block typeof(self) bself = self;,它可以编译,但使用__block 来避免保留循环不再起作用,应该使用__weak。
但是__weak typeof(self) bself = self; 会导致错误:
类型“typeof (self)”(又名“TUAccountsViewController *const __strong”)已经设置了保留属性
有没有办法使用typeof 或其他调用来一般地创建对self 的弱引用?
【问题讨论】:
-
使用 typeof 来确定类型的动机是什么,而不是明确地使用类 (TUAccountsViewController) 名称?
-
我想做一个通用的定义,它可以适用于当前的 self 实例。这一切都始于这个提交和讨论:github.com/kgn/BBlock/commit/…
标签: objective-c cocoa automatic-ref-counting objective-c-blocks weak-references