Taehyeon-Kim / SeSAC

☀️ SeSAC Daily Reporting
27 stars 0 forks source link

[220822] TIL #108

Closed Taehyeon-Kim closed 2 years ago

Taehyeon-Kim commented 2 years ago

Notification.Name

awakeFromNib, init

특성에 맞게 어느 것이 호출되는 것이 더 적절한지 확인해본다.

  1. SB, CB 둘 다 호출이 되는지 확인해본다.
  2. 어떤 것이 먼저 호출되는지 확인해본다. (Break Point 확인)

화면을 띄울 때

  1. viewDidLoad()에서 Alert을 띄울 수 없다. (viewDidLoad는 화면을 띄우기 직전이라고 생각하면 됨, viewDidAppear에서 호출하기)
  2. 화면을 항상 현재 화면에서 present, push 하는 것은 아니다. 현재 window의 rootViewController에서 띄우는 경우도 많다.

SnapKit

  1. make
  2. remake
  3. update

셀 레이아웃(Cell Layout)

셀 레이아웃을 잡을 때는 contentView위에 구현해주자.

제스처

DataBase

데이터를 저장한 파일들의 집합체

DBMS

RDBMS

Terms

데이터 갱신 문제

present를 overCurrentContext, overFullScreen로 실행하고, dismiss하면 viewWillAppear가 실행되지 않는다.

// A.swift
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    print(#function)

    // 화면 갱신은 화면 전환 코드 및 생명 주기 실행 점검이 필요하다.
    // present, overCurrentContext, overFullScreen > viewWillAppear가 실행되지 않는다.
    // RootView가 그대로 남아있기 때문이다.
}

...

@objc func plusButtonClicked() {
    let vc = WriteViewController()
    vc.modalPresentationStyle = .fullScreen
    present(vc, animated: true)
}

Realm

Taehyeon-Kim commented 2 years ago

https://www.mongodb.com/docs/realm/sdk/swift/model-data/model-data-device-sync/