clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Q
  • Swift
  • ㅅ
  • uikit

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

iOS - UIKit

UIKIT. 화면간 데이터 전달.

2022. 2. 11. 16:02

화면간 데이터 전달을 하려 할 때엔  화면전환이 가능해진 이후.

 

화면전환에서 사용했던 옵셔널 바인딩을 약간 수정해야한다.

 guard let viewController = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID") as else { return }

옵셔널 바인딩을 해준 이유는 뷰를 클래스의 인스턴스화 해야하기 때문이다.

데이터 전달을 할 때에도 인스턴스화가 필요하지만 다른 방식의 접근이 필요하다.

 

옵셔널 바인딩과 다운캐스팅을 사용한다.

 guard let viewController = self.storyboard?.instantiateViewController(withIdentifier: "CodePushViewController") 
 							as? CodePushViewController else { return }

 

as? 와 CodePushViewController이다.

참고로 CodePushViewController는 다른 뷰의 클래스 이름이다.

 

다운캐스팅을 하면 해당 클래스(스택의 상위에 오게될 클래스)의 프로퍼티에 직접접근이 가능해진다.

viewController.name = "clamp"

CodePushVIewController 클래스엔 name이란 프로퍼티를 먼저 지정해놓았다.

쉽고 간단하게 말하자면 바인딩상수인 viewController엔 CodePushVIewController가 저장되어있고 다운캐스팅을통해 직접 변수에 접근을 한 것이다.

 

이후 CodePushVIewController클래스뷰가 실행되면 

 

//CoudPushVIewController cocoa touch파일 내부

 override func viewDidLoad() {
        super.viewDidLoad()
        
        if let name = name{
            self.nameLabel.text = name
            self.nameLabel.sizeToFit()
        }

viewDidLoad()는 메모리에 뷰가 스택에 로드될때 불리는 메소드이다.

즉 해당 뷰가 화면에 나오기 전 해당 뷰의 지정된 라벨엔 name 변수의 String이 적혀있다.

 

저작자표시 비영리 동일조건 (새창열림)
    'iOS - UIKit' 카테고리의 다른 글
    • IOS - Navigation Controller
    • UIkit - UITableView
    • UIKIT. UINavigationController
    • UIKIT. ViewController Life Cycle
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바