nib?
- 유저 인터페이스 빌드를 저장하기위한 파일
- UITableViewController, UITableViewCell, UICollectionCell클래스, CustomView에서만 지원을 합니다.
- Nib : 바이너리 형태 (nil파일을 컴파일하면 xml파일이 됨.)
- Xib : xml형태
nib를 사용하는 곳
- UIViewController타입에서 init에 존재
- storyboard가 아닌 .nib파일로 초기화 하는 경우
- 참고로 storyboard를 이용한 초기화는 init(coder:)사용
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
<#code#>
}
}
init(coder:)란?
- 아래와 같은 NSCoding을 상속받고 있다면, required init?(coder: aDecoder:)로 구현해야 함
// UIViewController가 상속받고 있는 프로토콜
protocol NSCoding: AnyObject {
func encode(with coder: NSCoder)
required init?(coder: NSCoder) // NS_DESIGNATED_INITIALIZER
}
내용출처
https://ios-development.tistory.com/184
https://velog.io/@kuruma-42/Nib%EB%9E%80
https://boidevelop.tistory.com/99
'iOS > iOS' 카테고리의 다른 글
Equatable (0) | 2022.06.17 |
---|---|
Hashable (0) | 2022.06.16 |
Result타입 (0) | 2022.06.13 |
접근 제어자의 종류 (0) | 2022.06.11 |
NSCache와 NSDictionary의 차이를 설명하시오. (0) | 2022.06.09 |
댓글