Model
view
Controller
SceneDelegate.swift
UINavigationController를 사용해서 앱 실행 시 처음 보여지는 컨트롤러 설정.
ViewController의 라이프사이클을 공부했을 때, 공식문서에서
loadView에서는 view 객체를 직접 코딩해서 만드는 경우가 아니라면
override를 지양(must not)한다고 한다.
그래서 왠만하면 loadView에는 사용하지 말아야겠다고 생각했다.
근데 이번에 과제를 하다가 loadView에 작성하신 분들이 있어 코드리뷰를 해봤는데,
내가 놓친 부분이 있었다.
바로 view 객체를 직접 코딩해서 만드는 경우
23번 코드부터 보면 내가 해준 것이 바로 view 객체를 만들어서 직접 코딩해준 것....ㅋ
그리고 뷰와 함께 추가적으로 이니셜라이저를 하고 싶다면, viewDidLoad 에서 하라고 한다.
🔗 https://bicycleforthemind.tistory.com/33
PhoneBookView.swift
import UIKit
import SnapKit
class PhoneBookView: UIView {
let tableView: UITableView = {
let tableView = UITableView()
tableView.register(PhonBookTableViewCell.self, forCellReuseIdentifier: "PhonBookTableViewCell") //셀 등록
return tableView
}()
override init(frame: CGRect) {
super.init(frame: frame)
configureUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func configureUI() {
self.backgroundColor = .white
self.addSubview(tableView)
tableView.snp.makeConstraints {
$0.leading.trailing.equalToSuperview().inset(10)
$0.top.bottom.equalToSuperview()
}
}
}
Coredata CRUD 메서드를 어디에 위치 시키는 것이 좋은가에 대한 고민 (0) | 2024.07.18 |
---|---|
[ URLSession ] 포켓몬 API로 서버에서 이미지 데이터 받아오는 흐름 찾기 (0) | 2024.07.18 |
[Swift] UITextView - PlaceHolder 적용하기 (0) | 2024.07.17 |