[iOS] 뷰컨트롤러 간 데이터 전달

고재경·2021년 1월 19일
0

준비

위와 같이 첫번째 뷰컨트롤러에는 텍스트필드와 버튼을 구성해주고 두번째 뷰컨트롤러에는 텍스트필드에 입력된 텍스트를 띄워줄 레이블을 하나 생성합니다.

데이터 전달

@IBOutlet weak var textField: UITextField!

가장 먼저 첫번째 뷰컨트롤러 텍스트필드의 아울렛을 생성해줍니다.

@IBOutlet weak var label: UILabel!
    
    var receiveText: String!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.label.text = receiveText
    }

두번째 뷰컨트롤러에서는 레이블의 아울렛과 텍스트필드의 텍스트를 저장할 변수를 선언해줍니다.
그 후, 저장된 텍스트 값을 레이블에 전달해줍니다.


다시 첫번째 뷰컨트롤러로 돌아가 버튼을 눌렀을 때 화면이 띄워지며 데이터를 전달하는 코드를 작성합니다.
@IBAction func nextStoryboard(_ sender: Any) {
        guard let result = self.storyboard?.instantiateViewController(identifier: "Result") as? Result else {
            return
        }

        result.receiveText = textField.text
        self.present(result, animated: false)
    }

두번째 뷰에 대한 정보를 넣어준 뒤 두번째 뷰에 있는 string변수에 텍스트필드에 입력된 텍스트를 전달한 뒤 두번째 뷰를 띄워줍니다.

References

https://lazyowl.tistory.com/45
https://ios-development.tistory.com/20

0개의 댓글