1
我知道你應該使用weakSelf來阻止自己生存以避免保留記憶週期。 like:weakSelf as iVar
__weak id weakSelf = self;
self.block = ^{
[weakSelf something];
}
但我試圖找到一種通用的方法。我可以使用一個宏如:
#define Weakify(o) __weak __typeof__((__typeof__(o))o)
#define WeakifySelf(o) Weakify(self) o = self;
WeakifySelf(weakSelf)
self.block = ^{
[weakSelf something];
}
這簡化,但我想知道爲什麼我不能在我的viewController上使用伊娃。
@interface YDViewController : UIViewController
{
__weak id _weakSelf;
}
然後用這個伊娃
self.block = ^{
[_weakSelf something];
}
任何想法?
謝謝,這就是我懷疑的......該死的那種吮吸...... –