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)
}
}
'Swift > 기초&문법' 카테고리의 다른 글
swift submitvalue back 스위프트 이전 화면으로 데이터 전달 (1) | 2018.11.23 |
---|---|
swift prepare sugue 스위프트 세그 데이터 전달 (0) | 2018.11.22 |
swift alert actionsheet 스위프트 얼럿 액션시트 (0) | 2018.11.20 |
swift tableview JSONSerialization 스위프트 테이블뷰 제이슨 (0) | 2018.11.19 |
swift tableview xmlparser 스위프트 테이블뷰 xml 파싱 (0) | 2018.11.18 |