일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- uitableview
- swift documentation
- MVVM
- Xcode
- 스위프트
- Clean Code
- ribs
- UITextView
- Protocol
- rxswift
- uiscrollview
- swiftUI
- Refactoring
- 클린 코드
- Observable
- RxCocoa
- UICollectionView
- clean architecture
- 리펙터링
- 리팩토링
- HIG
- tableView
- combine
- collectionview
- 애니메이션
- SWIFT
- map
- ios
- Human interface guide
- Today
- Total
목록Encode (4)
김종권의 iOS 앱 개발 알아가기
JSON 내용, codable 모델 생성 클라이언트에서 데이터를 받는 방법은 .swift파일 내에나 plist에 세팅하는 방법이 있지만, 일반적으로 웹에서 json파일을 받아서 사용하는 방법이 많으므로 mock데이터도 json파일로 이용 json 데이터 작성 : quicktype에서 생성하여, json 내용 입력 시 자동으로 codable로 변경되도록 이용 iamge데이터는 따로 assets을 추가하고 json에는 이미지 이름만 명시 (실제 데이터는 url 존재하지만 mock 용도) // 입력한 json [ { "name": "Jake", "address_info": { "contry": "한국", "city": "서울" }, "image": "01" }, { "name": "Bob", "address_..
HTML 특수문자 코드 HTML코드를 표현문자로 변경 HTML 특수문자 코드 변경 후 1 '가나다' 2 "가나다" Swift에서 변경 방법 String extension으로 추가 extension String { init?(htmlEncodedString: String) { guard let data = htmlEncodedString.data(using: .utf8) else { return nil } let options: [NSAttributedString.DocumentReadingOptionKey: Any] = [ .documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue..
xib 파일 xib 개념 Xib가 사용되는 원리 archive(아카이빙): xib 모델 객체를 저장하기 위해서, 객체의 프로퍼티를 기록하고 파일 시스템에 저장하는 작업 NSCoder에 있는 encoder를 이용해서 모든 프로퍼티를 인코딩 unarchive(언아카이빙): archive한 데이터로부터 객체를 생성 NSCoder에 있는 decoder를 이용해서 archive된 data를 객체로 생성 NSCoding안에 archive, unarchive하는 함수 존재 UIView는 NSCoding을 준수하고 있는 상태 encode는 시스템에서 자동으로 해주는 형식이므로 따로 함수 존재 x decoder는 아래와 같이 존재 사용되는 과정
Codable이란? Encodable + Decodable 두 속성 모두 가지고 있는 타입 Encodable: 스위프트의 struct구조의 "객체"를 "json형식"으로 변한 하는 것 (Binary Data로 변환) Decodable: "json형식"을 "객체"로 변환 필요한 이유: 서버와 통신할 경우, 객체 그대로를 보내지 / 받지 않고, Binary Data로 통신 Encode swift의 struct객체 -> Binary Data (json형) struct정의 struct Person: Codable { var name: String var age: Int var birthDate: Date } Encode_ Binary데이터 변환 // create let person = Person(name: "..