KRProgressHUD를 이용하여 Loading Progress를 구현해보자.
이제 pod init - pod '사용할라이브러리' - pod install의 루틴에 완벽 적응 ^-^v
Completion handler는 어떠한 일이 끝났을 때 진행할 업무를 담당하는 것이다.
클로저의 Escaping은 A 함수가 마무리된 상태에서만 B 함수가 실행되도록 함수를 작성할 수 있다는 점에서 유용하다.
즉, Escaping Closure를 활용하면 함수 사이에 실행 순서를 정할 수 있다는 뜻이다.
아래는 이를 활용해 Loading Progress를 구현해낸 코드이다.
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
print("viewDidLoad() called")
KRProgressHUD.show()
changedTitle(completionHandler: { result in
print("completion block으로 넘겨받음: \(result)")
KRProgressHUD.showSuccess()
self.blogTitle.text = result
})
}
fileprivate func changedTitle(completionHandler: @escaping(String) -> ()){
print("completionBlock() called")
// delay
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
// do stuff 2 seconds later
completionHandler("Loading Completed!")
}
}
결과물
💡 공부가 필요한 부분: Completion handler, 비동기 처리, Closure
⛰ 넘어 ⛰
할게 많다 ㅎ
'🍎 iOS > UIKit' 카테고리의 다른 글
[iOS] WebKit View | 앱에서 Web 페이지 열기 (0) | 2021.07.27 |
---|---|
[iOS] Splash Screen(스플래시 스크린) 구현하기 | Lottie Animation (0) | 2021.07.20 |
[iOS][UI] Label: Number of Lines (0) | 2021.07.06 |
[iOS][m1] Xcode Playground output이 안보일 경우 (0) | 2021.07.01 |
[iOS] IBAction과 IBOutlet, 연결 후 삭제 시 주의할 점 (0) | 2021.03.21 |