swift submitvalue back 스위프트 이전 화면으로 데이터 전달
//
// ViewController.swift
// SubmitValueBack
//
// Created by stayfoolish on 24/11/2018.
// Copyright © 2018 stayfoolish. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
// 값을 화면에 표시하기 위한 아울렛 변수들
@IBOutlet var resultEmail: UILabel!
@IBOutlet var resultUpdate: UILabel!
@IBOutlet var resultInterval: UILabel!
// 값을 직접 전달받을 프로퍼티들
var paramEmail: String? // 이메일 값을 전달받을 속성
var paramUpdate: Bool? // 자동 갱신 여부를 전달받을 속성
var paramInterval: Double? // 갱신 주기 값을 전달받을 속성
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
// 화면에 표시될 때마다 실행되는 메소드
override func viewWillAppear(_ animated: Bool) {
if let email = paramEmail {
resultEmail.text = email
}
if let update = paramUpdate {
resultUpdate.text = update==true ? "자동갱신":"자동갱신안함"
}
if let interval = paramInterval {
resultInterval.text = "\(Int(interval))분마다"
}
}
}
//
// FormViewController.swift
// SubmitValueBack
//
// Created by stayfoolish on 24/11/2018.
// Copyright © 2018 stayfoolish. All rights reserved.
//
import UIKit
class FormViewController: 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)분 마다"
}
// Submit 버튼을 클릭했을 때 호출되는 메소드
@IBAction func onSubmit(_ sender: Any){
// presentingViewController 속성을 통해 이전 화면 객체를 읽어온 다음, ViewController 타입으로 캐스팅한다.
let preVC = self.presentingViewController
guard let vc = preVC as? ViewController else {
return
}
// 값을 전달한다.
vc.paramEmail = self.email.text
vc.paramUpdate = self.isUpdate.isOn
vc.paramInterval = self.interval.value
// 이전 화면으로 복귀한다.
self.presentingViewController?.dismiss(animated: true)
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
'Swift > 기초&문법' 카테고리의 다른 글
swift submitvalue back userdefaults 스위프트 이전 화면 유저디폴트 데이터 전달 (0) | 2018.11.25 |
---|---|
swift submitvalue back appdelegate 스위프트 이전 화면 앱딜리게이트 데이터 전달 (0) | 2018.11.24 |
swift prepare sugue 스위프트 세그 데이터 전달 (0) | 2018.11.22 |
swift submitvalue present push 스위프트 데이터 전달 (0) | 2018.11.21 |
swift alert actionsheet 스위프트 얼럿 액션시트 (0) | 2018.11.20 |