gpt4 book ai didi

ios - RACO观察订阅下一个执行选择器:afterDelay: not called

转载 作者:行者123 更新时间:2023-11-29 01:14:04 25 4
gpt4 key购买 nike

我正在使用 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 方法永远不会再次被调用。我的代码有什么问题吗?

最佳答案

也许你的weakSelf被释放了。确保 block 中的 weakSelf 不为 nil。

当你在 block 中使用弱对象时,最好像这样再次加强它:

@weakify(self);
[RACObserve(_currentUser, username) subscribeNext:^(NSString *newUsername) {
@strongify(self);
[self performSelector:@selector(saveUserChanges) withObject:nil afterDelay:.1];
}];

关于ios - RACO观察订阅下一个执行选择器:afterDelay: not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35428830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com