gpt4 book ai didi

ios - 试图了解 ReactiveCocoa

转载 作者:行者123 更新时间:2023-11-28 22:13:47 24 4
gpt4 key购买 nike

我正在测试 ReactiveCocoa 。在下面的代码中,我希望输出为:

name : Item 1
arr : a1
arr : a2
name : Item 2
arr : b1
arr : b2
done

但是我得到了不同的不可预知的结果,例如:

name : Item 1
arr : a1
arr : b1
name : Item 2
arr : a2
arr : b2
done

为什么会这样?我怎样才能强制 Reactive Cocoa 给我第一个输出?

NSArray * arr = @[@{@"name":@"Item 1", @"array" : @[@"a1",@"a2"]} , @{@"name":@"Item 2", @"array":@[@"b1",@"b2"]}];

[[[arr rac_sequence].signal flattenMap:^RACStream *(NSDictionary *dict) {
NSArray * arr = dict[@"array"];
NSLog(@"name : %@", dict[@"name"]);

return [[arr rac_sequence].signal flattenMap:^RACStream *(NSString *value1) {
NSLog(@"arr %@",value1);
return nil;
}];


}]subscribeCompleted:^{
NSLog(@"done");
}];

最佳答案

-signal 将序列转换为异步发送的信号。因此,您看到一些不确定性并不奇怪。

你想要的是使用-signalWithScheduler:RACScheduler.immediateScheduler

关于ios - 试图了解 ReactiveCocoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281352/

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