如何在视图加载swift4后执行函数

时间:2018-05-03 20:14:58

标签: ios swift

我试图在视图出现后执行一个函数。

我尝试了一系列我尝试的步骤wait()

override func viewDidLoad()
{
    super.viewDidLoad()

    let w = UnsafeMutablePointer<Int32>.allocate(capacity: 20)
    self.title = "Quiz Section"
    wait(w)
    Function()
}

我尝试了sleep()

override func viewDidLoad()
{
    super.viewDidLoad()

    sleep(10)
    Function()
}

我甚至试过viewWillAppear,但似乎都没有。我希望一旦视图在前面,那么函数就会执行。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试viewDidAppear

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    function()    // don't start function name with capital 
 }
如果您需要更长的时间,

OR 会在队列中调度该功能

override func viewDidLoad()
{
    super.viewDidLoad()

    let w = UnsafeMutablePointer<Int32>.allocate(capacity: 20)
    self.title = "Quiz Section"

     DispatchQueue.main.asyncAfter(deadline: .now() + 2.0 ) {
          function()  
     }

}

答案 1 :(得分:0)

试试这个:

val parsedJsValue = Json.parse(json)
val parsedApplyRequest = Json.fromJson[ApplyRequest](parsedJsValue).get
println(parsedApplyRequest)            // ApplyRequest(test1,null,None,Some(1))
println(parsedApplyRequest.b.getClass) // class java.lang.String