Передача менеджера сетевого уровня между контроллерами представления снижает производительность? - PullRequest
0 голосов
/ 09 марта 2020

Я использую сетевой слой на основе https://medium.com/flawless-app-stories/writing-network-layer-in-swift-protocol-oriented-approach-4fa40ef1f908, но при тестировании я замечаю небольшое сопротивление между двумя контроллерами представления.

Я создаю экземпляр NetworkManager в View Controller 1, затем я pu sh контроллер представления, VC2, через контроллер навигации. VC2 также имеет инициализацию, но вместо создания нового сетевого менеджера я передаю первый.

Код инициализации для обоих контроллеров представления:

init(networkManager: AuthNetworkManager) {
        super.init(nibName: nil, bundle: nil)
        self.networkManager = networkManager
    }

Инстанцирование происходит в AppDelegate .swift:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow(frame: UIScreen.main.bounds)
        window!.rootViewController = UINavigationController(rootViewController: LoginViewController(networkManager: AuthNetworkManager()))
        window!.makeKeyAndVisible()
        return true
    }
}

LoginViewController - это VC1. Когда я делаю sh из VC1 в VC2, происходит снижение производительности (думаю, из-за визуальных эффектов). Вот как я нажимаю:

 self.navigationController?.pushViewController(ViewController(networkManager: self.networkManager), animated: true)

Почему происходит такое снижение производительности? ЧТО СЛЕДУЕТ ДЕЛАТЬ? . Даже тогда для отправки первого сетевого запроса требуется около 1 секунды. Вы можете проверить код моего репо здесь: https://github.com/Andrew-Chen-Wang/mobile-auth-example Там есть мои инструкции для запуска сервера и проект swift для запуска симулятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...