您的位置:首页 > 移动开发 > IOS开发

ios block 导致的循环引用

2015-12-07 14:25 453 查看
[[NSNotificationCenter defaultCenter] addObserverForName:@"UIWindowDidRotateNotification" object:self queue:nil usingBlock:^(NSNotification *note) {
if ([note.userInfo[@"UIWindowOldOrientationUserInfoKey"] intValue] >= 3) {
self.navigationController.navigationBar.frame = (CGRect){0, 0, self.view.frame.size.width, 64};
}
}];


今天在controller里加了上面的代码,发现不能controller不能释放了,不是因为没有调用

[[NSNotificationCenter defaultCenter] removeObserver:self];


即使调用了上面的代码也没用!

原来又是忘记在block中要用 weak self,不能用self,这里的问题需要仔细想一下再记下来。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: