我正在使用ReactiveCocoa 2.5因为我需要支持iOS 7.我是ReactiveCocoa的新手。我有这段代码:
__weak typeof(self) weakSelf = self;
[RACObserve(_currentUser, username) subscribeNext:^(NSString *newUsername) {
[weakSelf performSelector:@selector(saveUserChanges) withObject:nil afterDelay:.1];
}];
第一次代码到达performSelector
时,一切正常,延迟后调用saveUserChanges
方法。但是,代码多次到达相同的performSelector
行,但saveUserChanges
方法永远不会被再次调用。我的代码出了什么问题?
答案 0 :(得分:1)
也许你的弱者被释放了。确保该块中的weakSelf不为零。
当您在街区中使用弱对象时,最好再次强化它:
@weakify(self);
[RACObserve(_currentUser, username) subscribeNext:^(NSString *newUsername) {
@strongify(self);
[self performSelector:@selector(saveUserChanges) withObject:nil afterDelay:.1];
}];