일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스위프트
- rxswift
- collectionview
- RxCocoa
- 리팩토링
- 리펙토링
- MVVM
- uitableview
- uiscrollview
- map
- ribs
- UITextView
- ios
- 클린 코드
- Human interface guide
- Observable
- 리펙터링
- HIG
- combine
- Xcode
- swift documentation
- UICollectionView
- swiftUI
- SWIFT
- Protocol
- tableView
- Clean Code
- clean architecture
- Refactoring
- 애니메이션
- Today
- Total
목록NIB (7)
김종권의 iOS 앱 개발 알아가기
* Storyboard로 UI 구현 기본기 목차 참고 xib, nib 란? XIB(Xcode Interface Builder), NIB(Next Interface Builder) XIB는 Xcode에서 제공하는 시각적 에디터를 의미하며 View라는 파일을 선택하여 만들면 .xib 확장자명을 가지는 파일이 생성 (xml 형태) NIB는 XIB가 컴파일되어 메모리에 로드할 때 사용되는 파일을 NIB라고 명칭 주의 - storyboard는 .xib가 아님 storyboard 파일이 컴파일되면 .storyboardc로 변환 xib가 빌드되면 nib로 변경되고 이 파일은 App Bundle 디렉토리에 저장되어 코드 베이스에서 이 파일을 사용할 땐 bundle에서 로드하여 사용 xib 커스텀 뷰 만드는 방법 vie..
Custom View (xib) 기본 개념 custom view 인스턴스를 사용하기까지의 개념 이해 xib -> nib -> instance (아래 구현부에서 계속 상세히 설명) instance는 UIView를 상속한 커스텀 뷰를 만들때 필요하고, UITableViewCell과 같은 커스텀 셀에서는 불필요 > tableView.register(nib, forCellReuseIdentifier:)할 때 nib파일을 넣어주므로 커스텀 셀에서는 불필요 Custom Cell 준비 Cocoa Touch Class로 UITableViewCell 생성 cf) cell이 아닌 일반적인 view를 만들때는 .swift파일과 .xib파일 생성 주의) UITableViewCell을 아래처럼 swift, views 파일 따로..
nib, xib란? nib(NeXT Interface Builder): 뷰의 layout, display등의 요소들을 object graph로 만들어서 직렬화한 파일 인터페이스 빌더에서 구성한 모든 정보는 .xib파일(XML Interface Builder)라는 파일로 저장 프로젝트 컴파일 시 바이너리파일인 .nib파일이 되는 것 * Interface Builder란? 코딩과 상반되는 개념인 그래픽 사용자 인터페이스 nib파일 앱에 nib 파일이 로드되면 Cocoa는 Xcode에서 만든 객체들의 전체 객체 그래프(뷰, 컨트롤, 셀, 메뉴, 객체 모두 포함)를 재생성 top-level객체 - 부모 객체를 가지지 않는 것들 (윈도우, 메뉴 바, 커스텀 객체) 단, Placeholder객체와 File's Ow..
init(frame: CGRect) Interface Builder에서 쓰이지 않고, 코딩으로 UIView를 상속받은 클래스를 만들 때 사용 ex) let sampleButton = UIButton(frame: CGRect(x:3, y:4, width:5, height:6)) required init?(coder aDecoder: NSCoder) Interface Builder에서 생성되는 초기화 구문 View나 Button과 같은 것을 커스텀하는 경우, 위 두 가지의 초기화 구문이 필수 class MyCustomView: UIView { @IBOutlet weak var mainTitle: UILabel! @IBOutlet weak var subTitle: UILabel! override init(fr..
nib파일 인터페이스 빌더에서 생성한 객체들을 직렬화하여 저장하는 파일(UI를 구성하는 객체 정보) 세부 설정(폰트, 색상, 스타일) 및 객체 간의 연결정보 포함 nib파일 로드 앱이 런칭할 때 nib-loading code 라는 nib파일을 로드하는 프레임워크의 기능에 의해 자동으로 로딩 모든 객체들이 인스턴스화, 모든 연결이 재구성 앱이 런칭될 때 자동으로 로드될 nib파일은 info.plist파일에 기록 (이 파일을 바탕으로 초기화) nib파일과 관련된 라이프 사이클 nib파일 로드: nib에 관련된 리소스를 메모리 또는 캐쉬로 불러옴(인스턴스화) 그 객체들은 initWithCoder: 메시지 받음 (커스텀 뷰는 initWithFrame 메시지 받음) init메세지를 받아 초기화 초기화가 끝나면 커..
nib파일의 구성 인터페이스 빌더에서 정의한 요소들을 object grpah로 만든 파일 인터페이스 빌더에서 정의한 요소란? 색상, 폰트, ViewController등 인터페이스 빌더에서 구성된 파일: XML형태의 .xib지만, 컴파일 하면 .nib파일이 됨 저장되는 위치는 App Bundle iOS 앱의 파일 구조 iOS앱은 보안의 목적으로 자신이 속한 샌드반스안의 디렉토리에만 접근 가능 Bundle Contatiner: 파일 시스템 중 한 디렉토리 (실행 가능한 코드, 사진, 소리, nib파일 등의 자원) Data Container: 사용자를 위한 Data 기타 앱이름.app:이 디렉토리는 read-only권한만 부여되며 iCloud에 백업 x Documents/: 사진첩과 같은 앱의 사용자에게 보여..
xib, nib란? Xml Interface Builder: 플랫파일(아무런 구조적 상호관계각 없는 레코드들이 들어 있는 파일) -> nib와 기능적으로 동일 Next Interface Builder: nib는 바이너리 파일 즉, xlb를 nib로 바꾼 후 bundle(실행할 때 같이 실행되는 파일)에 올리는 것 바이너리 파일들을 xcode에서 관리하기 힘들기 때문에 xlb로 먼저 저장 custom cell 생성 배치 및 IBOutet생성 bind함수 정의 bind함수 정의 이유: 추후에 tableView의 델리게이트 함수에서 cell을 만든 후, dataSource에 관한 값을 cell에 입력할 때 아래와 같이 이용 func tableView(_ tableView: UITableView, cellFor..