Мы пытаемся подключить наше приложение для Android к iOS с помощью Swift 3. В нашем приложении для Android мы используем RxJava2 для улучшения времени отклика нашего приложения. Мы получаем обновления от GPS, iBeacons и CMMotionActivity.iOS Swift: как сделать асинхронное/реактивное/событие для Swift 3
Мы замечаем значительные задержки в приложении iOS/Swift 3, потому что обновления в делегате iBeonon имеют преимущество перед другими делегатами (на самом деле другие делегаты получают вызов в 3 раза медленнее, чем обычно, потому что делегат iBeonon перехватывает приоритет).
а) Как я могу убедиться, что все делегаты дозвонились с равной вероятностью (как будто они существуют в изоляции)
б) Есть ли популярная библиотека или рекомендуемый подход для асинхронных/событий программирования на базе в Swift3 (аналогично к RxJava2 в мире Android)
c) Как избежать помех между обратными вызовами/делегатами? Я имею в виду: предположить, что делегат для iBeacon запущен, а делегат для GPS все еще находится в процессе. Должен ли я синхронизировать свой код для обработки таких ситуаций или существует ли более простой/гарантированный способ обеспечения оперативной защиты всех делегатов?