-
Notifications
You must be signed in to change notification settings - Fork 0
Code Convention
Hyeongmin Kim edited this page Oct 20, 2022
·
3 revisions
- 더이상 상속하지 않는 뷰 관련 클래스는
final
으로 선언한다.- 컴파일의 효율을 위해
final class ExampleView: UIViewController {
// code
}
-
UIView
를 선언할 때는private lazy var
으로 선언한다.- 호출될 때 인스턴스가 생성되어 컴파일의 효율을 위해
private lazy var ExampleView: UIView! = {
let view = UIView()
// code
return view
}()
- 오토 레이아웃에 관련된 코드는 extention으로 맨 아랫쪽으로 뺀다.
- 오토레이아웃을 통해 뷰를 그리는 함수 명은
setUpLayout()
으로 통일한다. - Snapkit으로 설정한 오토 레이아웃 클로저에는 파라미터를 표시하지않고 $0으로 통일해서 작업한다.
- 테이블(컬렉션)뷰 등의 하위 뷰를 위한 코드는 익스텐션으로 빼서 다른 파일을 생성해서 작업한다.
(단, 다른 로직의 클로저에서는 가독성을 위해 파라미터 표기가 필요할 수 있다.) -
view.addsubView()
는 각 뷰의 스냅킷 코드 위에 명시하고 주석으로 어떤 뷰인지 간략하게 설명한다.
private func setUpLayout() {
// myView의 상하좌우 패딩값
view.addSubview(myView)
myView.snp.makeConstraints {
$0.top.equalToSuperview().offset(100)
$0.left.equalToSuperview().offset(100)
$0.right.equalToSuperview().offset(-100)
$0.bottom.equalToSuperview().offset(-100)
}
}
----- 추후 논의 후 계속 추가 -----