2016-11-08 5 views
0

2 개의 ViewControllers이 있다고 가정 해 봅시다. MainViewController에 Seague to SecondViewController를 수행하는 버튼이 있습니다. 버튼을 누를 때 coreData에 초기 데이터를 저장하기 때문에 시간이 걸립니다.보기 컨트롤러 사이를 통과하는 동안 활동 표시기를 표시하는 방법

여기에 내가하고 싶은 것이 있습니다. ViewControllers간에 전달하는 동안 ActivityIndicator을 표시하려고하지만 SecondViewController가 열린 후 해당 뷰가 시작됩니다. 당신이 나를 도울 수? 나는 스위프트를 처음 보았습니다. 대신 prepare(for:sender:) 방법에 ActivityIndicator의 코드를 추가

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:) 방법 후 호출 할 필요가 : 여기

내가 내 MainVC에서 사용되는 코드입니다.

@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

비동기 호출을하지 않는 것인가? 아마도 이것과 관련이 있겠는가? 아마도 –