swift submitvalue present push 스위프트 데이터 전달 




//

//  ViewController.swift

//  SubmitValue

//

//  Created by stayfoolish on 23/11/2018.

//  Copyright © 2018 stayfoolish. All rights reserved.

//


import UIKit


class ViewController: UIViewController {


    // 이메일 주소를 입력받는 텍스트필드

    @IBOutlet var email: UITextField!

    

    // 자동 갱신 여부를 설정하는 스위치

    @IBOutlet var isUpdate: UISwitch!

    

    // 갱신 주기를 설정하는 스테퍼

    @IBOutlet var interval: UIStepper!

    

    // 자동갱신 여부를 표시하는 레이블

    @IBOutlet var isUpdateText: UILabel!

    

    // 갱신주기를 텍스트로 표시하는 레이블

    @IBOutlet var intervalText: UILabel!


    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }


    // 자동 갱신 여부가 바뀔 때마다 호출되는 메소드

    @IBAction func onSwitch(_ sender: UISwitch) {

        if (sender.isOn == true) {

            self.isUpdateText.text = "갱신함"

        } else {

            self.isUpdateText.text = "갱신하지 않음"

        }

        


    }

    

    // 갱신주기가 바뀔 때마다 호출되는 메소드

    @IBAction func onStepper(_ sender: UIStepper) {

        let value = Int(sender.value)

        self.intervalText.text = "\(value)분 마다"

    }

    

    

    // 프레젠테이션 방식으로 화면 전환하면서 값을 전달하기

    @IBAction func onSubmit(_ sender: Any) {

        //VC2의 인스턴스 생성

        guard let rvc = self.storyboard?.instantiateViewController(withIdentifier: "RVC") as? ResultViewController else {

            return

        }

        

        // 값을 전달

        rvc.paramEmail = self.email.text! // 이메일

        rvc.paramUpdate = self.isUpdate.isOn // 자동갱신 여부

        rvc.paramInterval = self.interval.value // 갱신주기

        

        // 화면이동

        self.present(rvc, animated: true)

        

    }

    

    

    // 내비게이션 컨트롤러를 통해 화면 전환하면서 값을 전달하기

    @IBAction func onSubmitBarButton(_ sender: UIBarButtonItem) {

        //VC2의 인스턴스 생성

        guard let rvc = self.storyboard?.instantiateViewController(withIdentifier: "RVC") as? ResultViewController else {

            return

        }

        

        // 값을 전달

        rvc.paramEmail = self.email.text! // 이메일

        rvc.paramUpdate = self.isUpdate.isOn // 자동갱신 여부

        rvc.paramInterval = self.interval.value // 갱신주기

        

        // 화면이동

      self.navigationController?.pushViewController(rvc, animated: true)

        

    }

    

    


}





//

//  ResultViewController.swift

//  SubmitValue

//

//  Created by stayfoolish on 23/11/2018.

//  Copyright © 2018 stayfoolish. All rights reserved.

//


import UIKit


class ResultViewController: UIViewController {

    

    // 화면에 값을 표시하는데 사용될 레이블

    @IBOutlet var resultEmail: UILabel! //이메일

    @IBOutlet var resultUpdate: UILabel! //자동갱신 여부

    @IBOutlet var resultInterval: UILabel! //갱신주기


    // email 값을 받을 변수

    var paramEmail: String = ""

    

    // update 값을 받을 변수

    var paramUpdate: Bool = false

    

    // Interval 값을 받을 변수

    var paramInterval: Double = 0

    


    

    override func viewDidLoad() {

        self.resultEmail.text = paramEmail

        // 3항 연산자 A? B: C A가 참이면 B를 , 거짓이면 C를 반환합니다.

        self.resultUpdate.text = (self.paramUpdate == true ? "자동갱신" : "자동갱신안함" )

        self.resultInterval.text = "\(Int(paramInterval))분 마다 갱신"

    }

    

    @IBAction func onBack(_ sender: UIButton) {

        self.presentingViewController?.dismiss(animated: true)

    }

    

}









+ Recent posts