我今天有扩展小部件附加到我的应用程序。当用户点击小部件时,我想打开我的应用程序的主ViewController,名为listVC(位于NavigationController内),数据从服务器推送到详细的ViewController后。
为了处理从小部件打开app,我在AppDelegate中使用这个方法
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
if url.scheme == "MY_URL_SCHEME" {
.....
return true
}
}
要在详细的ViewController中显示数据,我需要等到listVC加载它。解决它的最佳方法是什么?
我想过使用一些将在上面的应用程序方法中设置的闭包,在listVC数据加载函数中,这个闭包将在加载数据后执行。
你可以有一个带有活动指示器的登录界面,你可以在其中加载数据,或者如果listVC是一个表,你可以将表连接到数据的数组,加载数据时只需重新加载表,它就会填充。