일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift documentation
- swiftUI
- 클린 코드
- Observable
- combine
- ios
- Protocol
- MVVM
- SWIFT
- clean architecture
- 리팩토링
- uitableview
- tableView
- 애니메이션
- 스위프트
- Xcode
- collectionview
- rxswift
- 리펙터링
- 리펙토링
- UICollectionView
- UITextView
- map
- HIG
- RxCocoa
- Clean Code
- uiscrollview
- ribs
- Refactoring
- Human interface guide
- Today
- Total
목록Encode (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eakyVS/btq6kGPZQPw/GOYphWzeGYHo7DtKUgxz80/img.png)
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_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9jGo8/btq5LFwWQX4/fq524Dyse9kfOqUswhr0k1/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLMhxr/btq5hlE7IF2/jrjyt4yqPKZ89LzL7fLgdK/img.png)
xib 파일 xib 개념 Xib가 사용되는 원리 archive(아카이빙): xib 모델 객체를 저장하기 위해서, 객체의 프로퍼티를 기록하고 파일 시스템에 저장하는 작업 NSCoder에 있는 encoder를 이용해서 모든 프로퍼티를 인코딩 unarchive(언아카이빙): archive한 데이터로부터 객체를 생성 NSCoder에 있는 decoder를 이용해서 archive된 data를 객체로 생성 NSCoding안에 archive, unarchive하는 함수 존재 UIView는 NSCoding을 준수하고 있는 상태 encode는 시스템에서 자동으로 해주는 형식이므로 따로 함수 존재 x decoder는 아래와 같이 존재 사용되는 과정
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/U6bfG/btqK6Ou8vB5/I3b0TKaYAPlMB4cawbTxf1/img.png)
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: "..