함수, 객체, 변수 등을 VC간 정보 교류를 할 수 있는 방법은 여러가지 입니다.
1. 변수만 보내는 방법(정보교류 범위가 굉장히 한정적임; 단 한 곳.)
이 방법은 간단한 정보 전달입니다. 간단한만큼 여기저기 쓸 수는 없고 정보 전달 목적지가 한 곳뿐입니다.
네비게이션 컨트롤러를 통해 넘어가는 다음 viewcontroller(뷰컨)한테 정보 보내기를 합니다.
이 방법은 다음 페이지로 넘어가는 뷰컨에게만 건네주므로 원하는 다른 뷰컨에게 막 건네줄 수 없습니다.

버튼 있는 페이지에서 라벨이 있는 페이지에 'hello blue'를 전달해보겠습니다
아래는 첫번째, 버튼있는 viewcontroller의 버튼 동작 함수입니다.
guard구문으로
@IBAction func sendData(_ sender: Any) {
guard let vc = self.storyboard?.instantiateViewController(identifier: "NextVC") as? NextVC else {
return
}
vc.data = "hello blue" //다음 뷰컨에서 변수 data로 "hello blue"를 받겠다.
self.navigationController?.pushViewController(vc, animated: true)
}
그리고 그 다음 뷰컨에서 data변수를 선언함으로 '전 뷰컨에서 받은 문자열 여기서 쓰겠다'라고 말해줄 수 있습니다.
import UIKit
class NextVC: UIViewController {
var data:String? //전 뷰컨에서 받은 문자열 여기서 쓰겠습니다~
@IBOutlet weak var resultLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
resultLabel.text = data //data from FirstViewController
}


'IOS' 카테고리의 다른 글
| IOS] background Color와 border가 일치하지 않을 때 //.clipsToBounds (0) | 2023.12.05 |
|---|---|
| IOS] Kingfishur 사용법 코드 (0) | 2023.11.07 |
| IOS] 팝업 창 만들기 (2) | 2023.10.26 |
| IOS] FrameWork 추가 및 수정하는 방법 (0) | 2023.10.24 |
| IOS] storyboard SCROLLVIEW 구현 및 수정 방법 (0) | 2023.10.24 |