2016-11-08 6 views
0

私のMainViewControllerに2 ViewControllersが2つあり、SecondViewControllerにsegueを実行するボタンがあります。ボタンをタップすると、初期データをcoreDataに保存しているので、時間がかかります。View Controller間を通過する際にアクティビティインジケータを表示する方法

ここに私がしたいことがあります。 ViewControllersの間を渡している間に、ActivityIndicatorを表示したいが、SecondViewControllerを開いた後に開始する。私たちを手伝ってくれますか?私はスウィフトの新人です。ここで

は私MainVCで使用されるコードです:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

     if (segue.identifier == "SecondViewController") { 

      SwiftSpinner.show("Loading") // Act. indicator found on github 

      willRunOnce() // Here Im saving data to CoreData 

      SwiftSpinner.hide() 
     } 

    } 
+0

あなたはボタンのクリックでスピナーを示さなければならないとした後、それを隠す必要があります 'prepareForSegue' – Aditya

答えて

1

の代わりに使用すると、ボタンのアクションで、その呼び出しperformSegue(withIdentifier:sender:)メソッドの後に、それを呼び出す必要がprepare(for:sender:)方法でActivityIndicatorのコードを追加します。

@IBAction func onBtnSkip(_ sender: UIButton) { 

    SwiftSpinner.show("Loading") // Act. indicator found on github 
    willRunOnce() // Here Im saving data to CoreData 
    SwiftSpinner.hide() 

    //Now performSegue 
    self.performSegue(withIdentifier: "identifier", sender: nil) 
} 
+0

それは私 –

+0

のために動作しませんでしたあなたは' willRunOnce() '、それは任意の非同期呼び出しを行っているものであることを示すだろうか? –

+0

非同期呼び出しを行っていない、それはおそらくそれに関係しているでしょうか?おそらく:) –

関連する問題