在iOS中呈现或推送ViewController之前等待加载数据

时间:2018-02-28 07:47:29

标签: ios swift closures appdelegate today-extension

我今天有一个扩展小部件附加到我的应用程序。当用户点击小部件时,我想打开我的应用程序的主ViewController,名为listVC(位于NavigationController内),数据从服务器推送到详细的ViewController之后。

为了处理从小部件打开应用程序,我在AppDelegate中使用此方法

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    if url.scheme == "MY_URL_SCHEME" { 
       .....
       return true
    }
}

要在详细的ViewController中显示数据,我需要等到listVC加载它。解决问题的最佳方法是什么?

我想过使用一些将在上面的应用程序方法中设置的闭包,在listVC数据加载func中,这个闭包将在加载数据后执行。

1 个答案:

答案 0 :(得分:0)

你可以有一个带有活动指示器的登录界面,你可以在其中加载数据,或者如果listVC是一个表,你可以将表连接到数据的数组,加载数据时只需重新加载表和它将填充。