네트워크 대비 지식 쌓기 1편과 내용이 이어집니다!https://daesungstudy.tistory.com/91 Swift Codable Swift의 인코딩과 디코딩저번에, UserDefaults에 정보를 넣기 위해서는 인코딩이 필요하다 했었잖슴?오늘은 그 인코딩이 무엇인지에 대해 알아볼 예정임. 먼저 이 둘을 알아보기 전Swift의 Codable 프로토콜에 대해 알아보자.Codable 안을 뜯어보면 인코딩과 디코딩으로 구현되어 있음 그니까 쉽게 말해,인코딩과 디코딩을 합쳐놓은 프로토콜로써, 이 프로토콜을 사용하게 되면 인-디코딩이 편해진다는 것임. 요바바!! Decodable & Encodable 이라자너~ 인코딩(Encodable)데이터를 특정 형식으로 변환하는 것이런식으로 Codable을 사용하..
UserDefaults 저번 포스팅 코어 데이터(Core Data)와 내용이 이어집니다!https://daesungstudy.tistory.com/94 UserDefaults 또한 디스크에 데이터를 저장할 수 있게 돕는 도구임 특징으로는Core Data 보다 사용성이 간단 함 대량의 데이터를 담을때에는 Core Data가 적절하지만,비교적 단순한 데이터를 담는 데에는 UserDefaults가 적절하다. 그러면 UserDefaults의 CRUD에 대해서도 알아볼까?import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // CRUD..
CoreData코어데이터? 음,,, 코카콜라는 아는데이게 뭐지? ... Core DataCore Data는 애플의 프레임워크로 데이터 관리를 쉽게 할 수 있도록 도와주는 친구임(앱에서 기기의 디스크에 데이터를 읽고 쓸 수 있게 돕는 프레임워크) Swift로 기기 내 디스크에 데이터를 저장할 수 있는 대표적인 방법으로는Core Data와 UserDefaults가 있음 Q: 어? '디스크'개념이면 약간 데이터베이스랑 비슷한 거 아닌가?A: 데이터베이스와 유사하지만, 완전히 동일하지는 않다고 한다. 코어데이터의 본질은 라이프사이클, 검색, 영속성 기능을 가진 객체 그래프 관리자이다.자세한 내용은 아래 링크 확인 고고(https://www.letmecompile.com/코어데이터core-data와-데이터베이스의..
RC (Reference Counting) ARC와 MRC에 들어가있는 RC는 메모리 관리 시스템의 핵심이 되는 개념임인스턴스는 하나 이상의 참조자(소유자 = owner)가 있어야 메모리에 유지 된다. 만약 소유자가 없다면? -> 즉시 메모리에서 제거 됨 이때 인스턴스를 참조하고 있는 소유자의 개수를 RC(reference count)라고 한다. 이 말은? reference count > 0 -> 메모리에 살아있음reference count = 0 -> 메모라에서 삭제됨 그렇기 때문에, 더 이상 사용하지 않을 인스턴스의 RC가 0보다 크지 않도록 주의해야겠지?움, 그럼 만약 0보다 크게되면 어떻게 되는거야? 그렇게 되면 메모리 누수가 발생함실제로 "순환 참조(Circular Reference)"라는 것이..
JSON (JavaScript Object Notation) 곧 있을 네트워크 통신 수업에 대비해 개념정리를 해보자구Class 혹은 Struct의 정보가 UserDefaults에 들어가기 위해서는"JSON"으로 인코딩한 파일이여야함.근데, JSON이 뭐야? 간단하게, 데이터를 표현하는 방식 중 하나임예를 들어, 전화번호 구조체를 JSON으로 표현하면 다음과 같음[ { "name": "Adam", "phoneNumber": "010-1111-2222" }, { "name": "Eve", "phoneNumber": "010-3333-4444" }, { "name": "Abel", ..
아침 스크럼 때 보니 팀원 분들이 세그먼트 컨트롤 부분을 이쁜 언더바로 바꿔놓으셨다.사실 나도 처음에 기본 사진 보고 별로 같아서커스텀 하고 싶었는데 실패했었음 ㅋㅋ;; 암튼! 바 길이가 너무 긴 것 같아서 내 나름대로 수정해 봤음어떤데 어떤데! 깔끔하지 ㅋㅋ 근데 사실 저 부분만 잘 나와서 잘라서 붙임Lable 아래쪽에 고정시켜서 딱딱! 맞추고 싶었는데 잘 안되더라고요 ㅠㅠ 일단 오늘이 개발 마지막 날이므로 기능완성을 했어야 했는데컬렉션 뷰에 있는 셀 클릭 -> 이벤트 발생 -> 주문 상품 안에 있는 테이블 뷰로 값 던져주기요 기능을 구현해야 했음 근데 왜 안 되는 거지...???!!!#@!# 그래서 다른 조 컬렉션 뷰 담당 친구한테 물어봐서 해답을 찾음그건 바로! 이전 포스팅에서 다루었던 딜리게..