如何在swift中同步函数

时间:2017-05-18 17:52:05

标签: ios swift firebase

let otherUserActivePostsVC = UIStoryboard(name:"HomeScreen", bundle:MUPbundle3).instantiateViewController(withIdentifier: "otherUserPostsVC") as UIViewController

目前,我知道如何使下一个视图控制器存在填充数据的唯一方法是添加2.5秒的延迟。这种方法可以短期使用,但是如果我的应用程序增长使得大量使用它,我将不得不在先前的查询功能完成之后适应更精确的方式启动视图控制器。你是怎样做的?以下是我设置显示的视图控制器的方法:

@IBAction func messageButtonClicked(_ sender: AnyObject) {
    comingFromChatListingCell = false
    let messageButton = sender as! UIButton
    let selectedPost = filteredPosts[(messageButton.tag)]
    otherUID = selectedPost.uId
    retrieveOtherUserData()
    JSQAlternateVC.senderDisplayName = userFirstName
    JSQAlternateVC.senderId = userID
    DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: {
         homeVC.present(JSQAlternateVC, animated: true, completion: nil)
    })
}

上面的声明是在任何类或视图控制器之外进行的,因此它在整个项目中充当一个有意义的变量。

下面是另一个不知道如何在没有定时器的情况下触发启动新视图控制器以便首先完成retrieveOtherUserData()函数的示例。

$cat myfile
SR.N0.  Details
Name    XXXX
DOB     XXXX
DOJ     xxxx
JOB     XXXX
DOMAIN  XXXX
COMPANY XXXX


$cat script.sh
#!/bin/bash
tail +$1 $3 | head -n$2

$./script.sh 2 6 myfile
tail: cannot open ‘+2’ for reading: No such file or directory
==> myfile <==
SR.N0.  Details
Name    XXXX
DOB XXXX
DOJ xxxx
JOB XXXX

0 个答案:

没有答案