일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 트레일링 클로저
- CoreData Concurrency
- leetcode #01
- Raw value and Associated value
- NSPredicates
- Swift closure
- CoreData
- 스위프트 클로저
- Swift 고차함수
- codability
- 2022 부스트캠프
- Persistent store Coordinator
- 1009번
- NSSortDescriptor
- dateFormatter
- CoreData Filter
- Clean swift
- NSManagedObject SubClass
- iOS Static Library
- Associated Value
- LightWeight Migration
- Swift
- Swift LinkedList
- persistentStoreCoordinator
- CoreData Stack
- iOS Static Library 사용하는방법
- expensive operation
- 다익스트라 이해
- Java
- 일급 객체
- Today
- Total
목록분류 전체보기 (58)
하루를살자
목적: 저번글에서 어떻게 Static Library를 만드는지 알아보았는데, 오늘은 어떻게 생성된 바이너리 파일 (. a 확장자 파일)을 프로젝트에 사용할 수 있는지 알아보도록 하겠습니다. - 1.0 만들어진 라이브러리를 사용할 프로젝트를 하나 생성해줍니다. (저는 이전에 만든 라이브러리가 iOS 용이라서 iOS 프로젝트를 만들었습니다). - 2.0 Target -> Build Phases -> Link Binary With Libraries에 생성된. a 파일을 선택해줍니다. 이때 iphoneos, simulator 버전의. a 파일이 있으시겠지만, 일단 simulator 버전의 바이너리 파일을 링크해 줍시다. 아래와 같이 된다면 성공적으로 된 것! - 3.0 Target -> Build Setting..
목적: Objective-C 코드로 SDK를 만들어 Static Library를 만들어 보겠습니다. 1.0 iOS 용 SDK 를 만들 것이기 때문에 iOS -> Static Library 선택 후 프로젝트 생성. 2.0 간단한 SDK 인터페이스 구성후, 구현체도 만들어줍니다. //Mystatic Library.h #import @interface MyStaticLibrary : NSObject - (void) doSomething @end // MyStaticLibrary.m #import "MyStaticLibrary.h" @implementation MyStaticLibrary -(void) doSomething { NSLog(@"This is my first Static Library"); } @e..
목차 1.0 Motivation: persistent container 의 viewContext 는 어떤 Thread 에서 동작하나? 1.1 Managed Object Context Concurrency Types 2.0 Heavy Duty Task Strategy 2.1 performBackgorundTask(_:) via Persistent Container 2.2 newbackgroundContext() 2.3 Child context 3.0 Performance Test 1.0 Motivation: persistent container 의 viewContext 는 어떤 Thread 에서 동작하나? - 기본적으로 생성된 Persistent container 의 viewContext(NSObjectM..
목차 - PersistentStore Coordinator 에 Migration 옵션주는 방법 - PersistentContainer 의 Default PersistentStore Coordinator 옵션 확인 하기 PersistentStore Coordinator 에 Migration 옵션주는 방법 Entity 의 속성을 변경하면 이미 Persistent store 에 저장되어있던 데이터와 더이상 매칭이 되지 않기 때문에 아래와 같은 에러를 발생시킵니다. Light Weight Migration 은 Entity 안에서의 가벼운 변경 (속성 추가/변경, 관계도 수정) 등 이 일어났을때PersistentStoreCoordinator 가 자동으로 이를 관리해주는 것을 의미합니다. 이는 아래와같이 Persi..
목차 - Relationship - NSFetchRequest (NSSortDescriptor, Predicates) Relationship NSManagedObjectModel 에 생성해 놓은 entity 들의 관계를 설정해줄수있다. 예를들어, 하나의 휴대폰기기(Deivce) 는 한명의 소유자 (Owner) 를 가질수 있지만, owner 는 여러개의 device 를 가질수 있다는 관계도를 설정해보자. 관계도는 아래와 같이 Entity 의 Relationship 부분에서 설정해줄수있다. 여기서 중점으로 봐야할것들은 아래와 같다. - Relationship = 현재 entity 의 어떤 관계를 갖는지 - Destination = 어떤 Entity 와 이런 관계를 가지고 있는지 - Inverse = 한쪽에서..
목차 - NSManagedObject SubClass - CoreData Stack (Persistent Store, Persistent Store Coordinator) - 예제 NSManagedObject SubClass 저번시간에.. Entity 를 정의하고 데이터를 생성하는 과정에서 아래와 같이 프로퍼티 명을 일일히 적어 주고 fetching 해올시에도 Casting 작업을 따로 해줘야했었다. //Add Data let person = NSManagedObject(entity: entity, insertInto: persistentContainer.viewContext) person.setValue(players.key, forKey: "name") person.setValue(players.v..
목차 CoreData 란 Modeling Data Add records Fetch records 예제 CoreData 란? CoreData 는 어플리케이션의 Object graph, 및 persistence 관리를 해주는 프레임워크이다. Object graph Management = Object graph 는 DB 에 정의된 스키마 처럼 정의된 클래스들의 관계를 말한다. Persistence Management = 완성된 Object graph 가 나중에 어플리케이션에 사용될수 있도록 fetching 및 저장 하는 기능을 관리 한다. Modeling Data Data Object 를 만들기 위해서는 CoreData 의 Entity 와 Attribute 를 설정해주어야한다. 클래스나 스트럭처를 만드는것과..
이번 포스트에선 현재 진행 중인 Picteresting 프로젝트를 에 Presentation Layer를 적용한 내용을 정리해보는 시간을 갖겠습니다. 1.0 ViewModel 리팩토링. 리팩터링 이전의 HomeViewModel, ImageEntity HomeViewModel domainLayer 리팩터링을 진행하면서 개선된 Usecase를 적용한 HomeViewModel 은 아래와 같습니다. final class HomeViewModel { var didUpdateLikeStatusAt: ((Int) -> Void)? var imageList: Observable = Observable([]) private let fetchImageUsecase: DefaultFetchImageUsecase privat..