Как вы передаете данные из пользовательской схемы URL в Views в SwiftUI? - PullRequest
1 голос
/ 24 сентября 2019

Нет недостатка в советах и ​​руководствах по обработке пользовательских схем URL в iOS.Чего ВСЕ не смогли сделать, так это фактически показать вам, как передавать данные, проанализированные с этих URL, в ваше приложение / представления.Да, я могу использовать глобальную переменную, но это не «правильный» способ, и плюс, если вы хотите, чтобы ваше представление Swift реагировало на изменение этой глобальной переменной, вы не можете.

Например, яесть,

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>){
    let urlContext = URLContexts.first // Because I don't know how to properly deal with Sets
    if let url = urlContext?.url{
        guard let components = NSURLComponents(url: url, resolvingAgainstBaseURL: true),
            let params = components.queryItems else {
                print("Invalid URL or album path missing")
                return
        }
        if let token = params.first(where: { $0.name == "token" })?.value {
            print("Token: \(token)")
            MyGlobalToken = token
        }
    }        
}

Там вы увидите опцию MyGlobalToken, которая работает, но я не могу ответить на изменение этой переменной.Нужно ли что-то делать с self.window?.rootViewController, но я не могу найти никакой документации о том, что делать.Или вы настраиваете «уведомление», чтобы просматривать ответы?Или это еще не реализовано в SwiftUI?

FWIW Я новичок в разработке для iOS.

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