[ios] 이전 화면으로 데이터 전달 - 클로저 사용하기
이전 화면으로 데이터 전달(클로저 사용)
- 데이터를 전달 받을 ViewController
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var dataLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func tapNextBarButton(_ sender: UIBarButtonItem) {
// 다음 화면으로 가기(identifier: StoryboardID)
guard let nextViewController = self.storyboard?.instantiateViewController(identifier: "NextViewController") as? NextViewController else { return }
nextViewController.modalPresentationStyle = .fullScreen
// 다음 화면으로 가면서 클로져를 정의해준다
nextViewController.dataSendClosure = { data in
self.dataLabel.text = data
}
self.present(nextViewController, animated: true, completion: nil)
}
}
- 데이터를 전달 할 ViewController
import UIKit
class NextViewController: UIViewController {
// 데이터 전달 클로저
var dataSendClosure: ((_ data: String) -> Void)?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func tapNoDataButton(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
@IBAction func tapYesDataButton(_ sender: UIButton) {
// 버튼을 누르면 클로져를 실행해라
// 클로져의 정의는 전달 받는 뷰컨에서 한다(다음 화면으로 갈 때 정의한다)
self.dataSendClosure?("이전 화면에서 전달 받음")
self.dismiss(animated: true, completion: nil)
}
}
더 많은 전달 보러가기
Author And Source
이 문제에 관하여([ios] 이전 화면으로 데이터 전달 - 클로저 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yc1303/ios-이전-화면으로-데이터-전달-클로저-사용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)