일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- HIG
- 스위프트
- 리펙터링
- UITextView
- 클린 코드
- Clean Code
- ios
- combine
- UICollectionView
- Xcode
- RxCocoa
- MVVM
- uiscrollview
- tableView
- SWIFT
- rxswift
- ribs
- clean architecture
- uitableview
- 애니메이션
- Refactoring
- Observable
- 리팩토링
- swiftUI
- Protocol
- Human interface guide
- swift documentation
- collectionview
- map
- Today
- Total
목록xib (10)
김종권의 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 파일 따로..
아이디어 각 ViewController들은 해당 protocol들을 상속 받아서, Builder에서 해당 ViewController를 초기화 할때 정의된 함수 호출 StoryboardInstaiable 프로토콜 정의 public protocol StoryboardInstantiable { associatedtype ViewControllerType static var defaultFileName: String { get } static func instantiateViewController(_ bundle: Bundle?) -> ViewControllerType } default implementation 클래스의 이름을 얻기 위해 NSStringFromClass() 사용 class 타입을 받아서 그 ..
xib 파일 xib 개념 Xib가 사용되는 원리 archive(아카이빙): xib 모델 객체를 저장하기 위해서, 객체의 프로퍼티를 기록하고 파일 시스템에 저장하는 작업 NSCoder에 있는 encoder를 이용해서 모든 프로퍼티를 인코딩 unarchive(언아카이빙): archive한 데이터로부터 객체를 생성 NSCoder에 있는 decoder를 이용해서 archive된 data를 객체로 생성 NSCoding안에 archive, unarchive하는 함수 존재 UIView는 NSCoding을 준수하고 있는 상태 encode는 시스템에서 자동으로 해주는 형식이므로 따로 함수 존재 x decoder는 아래와 같이 존재 사용되는 과정
* custom view (only code) 참고: ios-development.tistory.com/399 커스텀 xib 생성 만드는 설명 참고: ios-development.tistory.com/20 // // MyView.swift // CustomView // // Created by 김종권 on 2021/03/25. // import Foundation import UIKit struct MyViewModel { let first: String let seconds: String } class MyView: UIView { @IBOutlet weak var firstLabel: UILabel! @IBOutlet weak var secondLabel: UILabel! var data: MyVie..
ViewController를 xib로 사용할때의 장점 xib는 재사용이 쉽지만, storyboard에 있는 ViewController를 재사용하려면 어려움 ViewController의 객체를 얻기가 쉬움 :storyboard를 이용하면 storyboard객체를 통해 ViewController객체를 얻지만, xib는 nib이름만 있으면 가능 xib로 ViewController 사용 준비 xib 파일 생성: SampleVC.xib swift파일 생성: SampleVC.swift import Foundation import UIKit class SampleVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() } } .xib파일과 sw..
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..
현재 지역 확인 - Locale 아래와 같이 작성하여 regionCode를 획득 Locale.current // en_KR (current) Locale.current.regionCode // Optional("KR") code 리스트 Locale.isoRegionCodes 로컬 = ["AC", "AD", ... 중략 ..., "ZM", "ZW"] 앱 점유율 상 높은 Japnan ~ China까지 코드를 알아보면, public enum CountryType: String { case korea = "KO" case japan = "JP" case USA = "USA" case UnitedKingdom = "GB" case Germany = "DE" case Chnia = "CN" } // 문자열 -> e..