본문 바로가기

iOS/DataParsing

(6)
[iOS] FireStore Database document에 값을 Codable타입으로 디코딩, 인코딩으로 저장, 꺼내오기!! 이번 글을 통해 Codable의 Decode를 통해 파이어베이스 Firestore Database의 collection document 필드 값을 쿼리를 통해 인스턴스로 얻거나 Encode를 통해 파이어베이스의 문서와 필드값을 추가하는 글을 다뤄볼 것이다. 사진 1과 같이 파이어베이스에 저장된 형식을 멤버 프로퍼티로 하는 구조체를 Codable타입으로 생성하면 된다. 이때 Encodable과 Decodable을 구현해야 한다. 파이어베이스를 이번 인스타그램 클론을 하면서 처음 다뤄보는데 Codable타입으로 받을 수 있지 않을까 하고 시도해 봤는데 성공적이어서 글로 남긴다.ㅎㅎ users 컬랙션의 문서는 uid로 등록했다. 문서의 필드는 JSON으로 아래와 같은 형식으로 사용자의 정보를 담도록 했다. C..
[iOS] Codable로 String타입의 JSON데이터-> Data타입으로 Decode. | String -> UIImage decode? #5 최근에 AutoLayout과 MVVM을 공부하면서 Codable로 데이터 파싱하는 방법에 대해 알게 되었다. 그리고 내가 예전에 재은씨 실전편 공부하면서 만들었던 메모장 앱을 전부 리펙터링 하고 있다. 아.. 미리 말하자면 String타입의 JSON 데이터를 Codable struce 프로퍼티 UIImage로 변환시도는 아직 성공하지 않아서 우선 String타입의 데이터를 Data로 변환하는 과정을 기록했다. + Container의 의미와 decode(_:forKey:)에 대해 조금 정리를 했다.(틀린 부분이 있을 수 있습니다. 조언 주시면 감사합니다.) 로그인할 때 아이디 패스워드에 따라 로그인 성공시 사용자의 정보를 파싱할 수 있는 REST api가 있다. 로그인 성공 시 { "user_info" :..
[iOS] Codable 프로토콜 사용 유무 차이.. 완죤 대박 #4 이전 글에서 Codable에 대해 공부를 했었는데요. 이번글에서는 Codable을 쓰면 좋은 점을 URLRequest +URLSession vs Alamofire 을 비교하면서 공부를 해볼까 합니다. 지난 글의 연장선이라고 할 수 있습니다. 저번 글과 마찬가지로 https://www.youtube.com/watch?v=w7xJrAYQoHE 이 유튜브에서 나오는 REST API url을 사용할 것입니다. // 위에서 언급했던 url 에서 정의된 JSON형식의 데이터 { "results":{ "sunrise":"2022-09-01T02:45:56+00:00", "sunset":"2022-09-01T16:15:33+00:00", "solar_noon":"2022-09-01T09:30:45+00:00", "da..
[iOS] Codable 개념 뿌수기!! #3 Codable protocol 란? Swift 표준 라이브러리에서 데이터를 encoding 또는 decoding하기위한 접근을 표준화했습니다. 고 녀석이 바로 Codable인데요. Codable은 Encodable과 Decodable의 typealias입니다. 타입으로 사용하거나 제너릭 형태로 제약을 걸 경우에 어떤 타입이든 Encodable 또는 Decodable 두 프로토콜의 요구조건을 만족시키게 됩니다. Encodable 또는 Decodable 프로토콜을 적용한 Codable타입의 데이터는 Encodable 또는 Decodable 프로토콜을 구현하므로 external representation(== JSON, 인스턴스 등)로 인코딩 또는 디코딩 할 수 있습니다. Encodable또는 Decodab..
[iOS] JSON형식의 데이터 파싱 뿌수기!! with Alamofire #2 이전에 작성한 RESTful API 파싱 방법은 URLRequest에 헤더를 정의하고 URLSession의 dataTask(with:)를 통해 결과 응답 처리 이후 .resume()로 HTTP 요청 메시지를 전송했었습니다. Alamofire은 URLRequest와 URLSession을 더 쉽게 사용할 수 있는 오픈 라이브러리 입니다. HTTP 네트워킹을 위해 스위프트 기반으로 개발된 비동기 라이브러리이고,, 정말 편리합니다. Codable을 채택한 데이터 파싱은 코드 길이가 많이 줄어든다고 생각합니다. Alamofire(5. ver) 특징 URLRequest + URLSession 객체를 Wrapping해 AF namesapce를 사용해 간결하게 사용할 수있게되었습니다. 서버요청 간결!! 서버 응답 컨텐..
[iOS] JSON형식의 데이터 파싱 뿌수기!! with URLRequest, URLSession #1 JSON이란? https://www.json.org/json-ko.html JSON JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1 www.json.org JSON은 자바스크립트 객체 만들때 사용되는 표현 방법 입니다. (Swift의 딕셔너리 같은 성격!!) 데이터를 저장하고나, 전송할때 C,C++, 웹서버, db등 많이 사용된다. key: value타입으로 이루어져있고 배열 또한 가능합니다. 크게 JSON 객체는 { 와 } 로 이루어져있고 JSO..