본문 바로가기

전체 글

[iOS] URLSession URLSession: An object that coordinates a group of related, network data transfer tasks. 즉, 네트워크 데이터를 가져오거나 보내는 작업을 coordinate 합니다.class URLSession : NSObject  URLSession | Apple Developer DocumentationAn object that coordinates a group of related, network data transfer tasks.developer.apple.com URLSession 주요 특징 1. 비동기적 네트워킹 (Asynchronous Networking) : 네트워크 요청을 비동기적으로 처리하여 백그라운드에서 작업이 수행되어 앱 성능을 .. 더보기
[iOS] Core Data stack 2024년 4월 12일 금요일 Core Data stack Manage and persist your app’s model layer. (들어가보면 엄청나게 많지만 꼭 알아야 하는 핵심적인 아래의 몇 가지만 살펴봅니다.) 1. Persistent container ( NSPersistentContainer ) Container가 지정한 Model에 정의된 Entity들을 context를 활용하여 CRUD 한다. let container = NSPersistentContainer.init(name: "Animals") 생성자에 전달한 name 은 컨테이너가 관리할 모델(.xcdatamodelld) 을 지정할 때 쓰인다. 2. Model ( NSManagedModel ) .xcdatamodeld 파일(이 클.. 더보기
[iOS] Core Data (+ Modeling Data) 2024년 4월 11일 목요일 Core Data Persist or cache data on a single device, or sync data to multiple devices with CloudKit. 하나의 기기에 데이터를 영구적으로 저장하거나 캐싱 처리할 때 사용할 수 있고, Cloud Kit을 사용해 여러 기기의 데이터를 동기화 할 수 있다. 그러니까.. 모델 계층의 객체를 관리하는 Core Data에 대해 공부해 봅니다. ※ 공식문서에서 설명하는 아래의 기능들이 있기에 1) 오프라인 상태에서도 사용하도록 앱의 영구적 데이터를 저장할 때, 2) 데이터를 임시로 캐시할 때, 3) 앱에 실행 취소 기능을 추가할 때 Core Data를 사용한다. 1. Persistence : Core Data는 .. 더보기
[iOS] WishList App (feat. Network &API) 금주에 새로 전달받은 프로젝트의 요구사항을 정리해 봅니다.  랜덤한 상품을 앱에 노출시키고, 노출된 상품을 위시 리스트에 담을 수 있는 애플리케이션 만들기( 데이터 저장과 네트워크 통신이 핵심 ) 완성된 내용은 이곳에서 확인하세요! ◇  프로젝트 목표 [ ]   화면을 전환하는 여러 방식을 이해하고 코드를 작성할 수 있다. (Segue, 코드 활용)[ ]   Swift 메모리 구조에 대해 이해할 수 있다.[ ]   Swift의 ARC 개념에 대해 이해할 수 있다.[ ]   Decodable, Encodable, Codable 개념을 활용하여 데이터 모델링을 할 수 있다.[ ]   URLSession에 대해 이해하고 REST API와 통신할 수 있다.[ ]   내부저장소 개념에 대해 이해한다.[ ]   .. 더보기
[Algorithm] 짝수 홀수 개수 (w/ Swift) 짝수 홀수 개수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1 ▽ func solution(_ num_list:[Int]) -> [Int] { // 주어진 정수 배열에서 홀수와 짝수의 개수를 세는 함수 var evenNumber = 0 // 짝수의 개수를 저장하는 변수 var oddNumber = 0 // 홀수의 개수를 저장하는 변수 for i in num_list { if i % 2 == 0 { evenNumber += 1 // 짝수일 경우, 짝수 개수를 1 증가 } else { oddNumber += 1 // 홀수일 경우, 홀수 개수를 1 증.. 더보기
나는 개발자가 되기로 했다. 긴 시간 기획자(PM)로 일하며나의 기획에 대해 설득하고 독촉하고 체크하고그 모든 결과에 책임지는 일련의 과정에 지쳤던걸까. 나의 의견만 관철하며 설득하는 입장에서 벗어나고 싶었고,너의 의견도 다른 관점에서는 이런 장점이 있다고 말하고 싶었다.더 좋은 결과를 위해 터놓고 대화할 수 있는 입장이 되고 싶었달까. 좋은 리더십이란 상대의 의견을 존중하면서도내 의견을 논리적으로 설득할 수 있어야만 하는데, 프로젝트를 끌고 가야하는 입장에서 이 균형을 잡는 것이 참 어려웠다.고집스럽고 자기 주장이 강한 사람이 되어가는 듯 해 스스로 마음에 들지 않았다.끌고만 가는 것이 아니라 '함께' 갈 수는 없을까.    그러던 어느 평화로운 주말,오기가미 나오코 감독의 이라는 영화를 보는데, 영화 말미에 요모기(카세 료)가.. 더보기
[Swift] 객체 지향 프로그래밍 (Object-Oriented Programming) 관계란 무엇인가. 객체 지향이란 무엇인가. swift라는 객체 지향의 세계에서는 관계 맺기를 잘해야 코딩을 잘 할 수 있다고 합니다. 경험이 쌓일수록 이해도가 높아지겠지만, 일단은 현 수준에서 OOP에 대해 다시 정리해 봅니다. 객체란 무엇인가 메세지를 전달 받을 수 있는 대상, object. 푸바오에게 "일어나!"라고 한다면 푸바오를 객체라 할 수 있다. 말 그대로 대상을 나타내는 단어라고 생각해도 된다. 4월 3일 푸바오가 유학을 떠난 간 쓰촨성 선수핑 기지에는 나이도 출신도 다른 90여 마리의 판다들이 있는데 이들도 모두 객체가 될 수 있다. (부디 우리 푸바오가 여러 객체들과의 관계를 잘 맺으며 객체 지향적인 삶을 살기를.. ) 푸바오의 친구 판다들 모두 각자의 데이터, 타입(상태)와 메서드(행위.. 더보기
[Swift] Inheritance & Override (2) 상속(Inheritance)으로 물려받은 행동(method)을 수정할 수 있는 Override에 대하여 공부하고, Inheritance 핵심 개념을 복습합니다. Override에서 final 로 선언하면 자식 클래스가 Override하는 것을 막을 수 있다는 것도 익혀둡니다. Override 상속받은 상태와 행동을 수정할 수 있다. 즉, 자식 클래스는 부모 클래스로부터 상속 받은 property나 method를 그대로 사용하지 않고 자신만의 기능으로 변경하여 사용할 수 있다. 이를 재정의, Override 라 한다. override 키워드는 swift 컴파일러가 조상 클래스(부모 포함 상위 부모 클래스)에 해당 프로퍼티나 메서드 등이 있는지 확인한 후 재정의 하는데 만약 조상클래스에 해당 특성이 없다면,.. 더보기