大佬教程收集整理的这篇文章主要介绍了ios – 如何使用ReactiveCocoa完成此操作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
>获取当前连接的用户
>获取Facebook用户
>获取应用程序用户(这取决于步骤2)
完成所有这些后,我需要将三个结果数组合并/减少为最终数组.
我创建了三个函数,都返回RACSignal
getUsersWithFacebookIds,getConnectedUsers和getFacebookUsers
[[RACSignal combineLatest:@[connectUseRSSignal,facebookUseRSSignal,applicationUseRSSignal]] subscribeNext:^(RACTuple *users) { NSArray *connectedUsers = [users first]; NSArray *facebookUsers = [users second]; NSArray *applicationUsers = [users third]; }];
缺少的另一个部分是如何使applicationUseRSSignal依赖于fACBookUseRSSignal.可以这样做:
- (RACSignal *)applicationUseRSSignalWithFacebookUseRSSignal:(RACSignal *)fbSignal { return [fbSignal flattenMap:^RACStream *(NSArray *facebookUsers) { return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { // Do what you have to do with the facebookUsers return nil; }]; }]; }
只是为答案增加一点.我假设那些是冷信号,(尚未开始的信号尚未订阅).所以使用COR_130_11845@bineLatest的想法是你要捕获每个单个信号至少发送一个下一个,after that you subscribe to it so it can begin的点.最后你可以从RACTuple中获取它们的值.
[[[RACSignal combineLatest:@[connectUseRSSignal,applicationUseRSSignal]] map:^id(RACTuple *allArrays) { return [allArrays.rac_sequence foldLeftWithStart:[NSMutableArray array] reduce:^id(id accumulator,id value) { [accumulator addObjectsFromArray:value]; return accumulator; }]; }] subscribeNext:^(NSArray *allUsers) { // Do Something }];
以上是大佬教程为你收集整理的ios – 如何使用ReactiveCocoa完成此操作全部内容,希望文章能够帮你解决ios – 如何使用ReactiveCocoa完成此操作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。