2017-02-21 47 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

關於手動優先的委託電話,你可能會遇到困難。據我所知,無法減少信標發現的回調頻率。在正常情況下,我認爲這不應該成爲一個應該關注的問題,因爲不同的來源不應該阻止/延遲對方。