2017-02-21 42 views
1

我们试图使用Swift 3将我们的Android应用移植到iOS。在我们的Android应用中,我们使用RxJava2来改善应用的响应时间。我们从GPS,iBeacons和CMMotionActivity获取更新。iOS Swift:如何为Swift 3做异步/反应/事件编程

我们注意到在IOS /斯威夫特3应用显著的延迟,因为更新到iBeacon显示代表正在优先于其他代表(其实其他代表被调用低于正常水平的3倍,因为iBeacon显示委托接管优先)。

一)我怎样才能确保所有代表被调用的概率相等(就好像它们是孤立存在的)

b)是否有一个通俗图书馆或在Swift3异步/基于事件的编程推荐的方法(类似于到Android世界中的RxJava2)

c)如何避免回调/代表之间的干扰?我的意思是:假设委托为iBeacon被解雇,而代表全球定位系统仍在进行中。我应该同步我的代码来处理这样的情况下,还是有更简单/担保方式OS确保所有代表依次

回答

0

当从RxJava来叫,这将是一个合乎逻辑的结论考虑其斯威夫特对应RxSwiftReactiveCocoa是另一个功能性反应性库,但您可能会遇到来自ReactiveX世界的混淆术语。这两个框架都提供UI绑定,流处理和调度。

该框架将帮助您很好地编排来自不同来源的输入。你可能会寻找的是流的组合,如combineLatest:ReactiveCocoarxmarbles, image source):

combien latest

关于手动优先的委托电话,你可能会遇到困难。据我所知,无法减少信标发现的回调频率。在正常情况下,我认为这不应该成为一个应该关注的问题,因为不同的来源不应该阻止/延迟对方。