2023. 8. 28. 01:46ㆍ🍏/Xcode
Nib
Nib(NeXT Interface Builder)는 macOS와 iOS 앱의 UI 구성 요소와 그 요소 간의 연결을 정의하는 데 사용되는 파일 포맷입니다. 이는 Interface Builder라는 툴을 사용해 생성하거나 편집할 수 있습니다. Nib 파일은 일반적으로 .xib 확장자를 가진 원시 XML 파일 또는 런타임에 빠르게 로딩할 수 있도록 컴파일된 .nib 확장자를 가진 파일로 저장됩니다. 뷰 컨트롤러, 뷰, 다른 객체와 그 관계를 정의합니다.
- nib(NeXT Interface Builder): 뷰의 layout, display등의 요소들을 object graph로 만들어서 직렬화한 파일
- 인터페이스 빌더에서 구성한 모든 정보는 .xib파일(XML Interface Builder)라는 파일로 저장
- 프로젝트 컴파일 시 바이너리파일인 .nib파일이 되는 것
* Interface Builder란? 코드와 상반되는 개념인 그래픽 사용자 인터페이스
Bundle
Bundle은 파일과 디렉토리의 계층적 구조를 묶은 것으로, 리소스와 실행 가능한 코드를 캡슐화합니다. 예를 들어, macOS 앱은 .app 확장자를 가진 앱 번들을 사용합니다. 이 안에는 앱의 실행 가능한 파일과 앱 아이콘, Nib 파일, 사운드 파일, 이미지 등 여러 리소스가 저장됩니다.
nibName과 bundle in UIViewController
UIViewController에서 nibName과 bundle은 초기화 메서드 init(nibName:bundle:)에서 사용됩니다. 이 메서드를 사용하면 뷰 컨트롤러가 자신의 뷰를 로드할 때 사용할 Nib 파일과 그 파일이 위치한 번들을 명시적으로 지정할 수 있습니다.
nibName: 로드할 Nib 파일의 이름입니다. 이 이름은 확장자를 제외한 문자열로 제공됩니다.
bundle: Nib 파일을 포함하는 번들입니다. 번들을 명시적으로 지정하지 않으면 메인 번들이 사용됩니다.
예시:
let myViewController = UIViewController(nibName: "MyCustomView", bundle: nil)
여기서 MyCustomView.xib는 메인 번들에 위치해 있어야 하며, 그 내부의 UI 요소는 myViewController의 뷰로 로드됩니다.
'🍏 > Xcode' 카테고리의 다른 글
[instruments.app] Debugging / C / C++ / Program (0) | 2024.03.20 |
---|---|
[Xcode] Swift Build System (0) | 2024.02.01 |
[Swift] Alamofire response parsing / Alamofire json parsing (0) | 2022.10.10 |
[Xcode] Development localization / 개발 현지화 (0) | 2022.10.06 |
[Firebase] cocoaPod을 사용한 remoteConfig 연결 / splash / Firebase/RemoteConfig (0) | 2022.05.10 |