이전 포스팅에서는 Object에 값을 다 채워서 데이터를 저장했다. 모든 값이 채워지지 않은 Object를 저장하면 어떻게 될까? nil이 포함된 저장 car.setValue(myCar["brand"], forKey: "brand") // car.setValue(myCar["color"], forKey: "color") car.setValue(myCar["price"], forKey: "price") 위와 같은 코드로, 일부 값을 비워서 저장해보자 value를 주지 않고 저장하면 해당 값이 nil로 들어가게 된 것을 알 수 있다. Entity의 속성의 optional 유무 그럼 Entity의 속성들은 기본적으로 optional일까? guard let newcar = try? context.fetch(Ca..
Core Data 데이터 저장하기 Car Entity를 만들어놓았으니, 데이터를 한번 저장해 보자 let myCar: [String: Any] = ["brand": "KIA", "color": "black", "price": 3000] 뷰 컨트롤러에 다음과 같이 딕셔너리 형태의 저장하고자 하는 값을 만들어주었다 이전 포스팅에서 context는 인스턴스들의 변화를 추적한다고 했다. 메서드라고 생각하면 편하지 않을까? 저장하는 메서드를 사용하기 위해서 context를 사용해야 하고, context 역시 다른 인스턴스들과 함께 container에 포함되어 있다 현재 persistent container는 AppDelegate에 있다 AppDelegate의 persistent containser에서 contex..
! 공식문서를 참고한 글입니다 https://developer.apple.com/documentation/coredata/setting_up_a_core_data_stack Core Data Stack Core Data 모델 파일을 만든 후(https://modelinspring.tistory.com/90), 앱의 모델 레이어를 협력 지원하는 클래스를 설정해보자 이 클래스들은 Core Data Stack이라고 한다 NSManagedObjectModel의 인스턴스는 앱의 모델 파일을 나타내며, 앱의 타입, 프로퍼티들, 그리고 관계들을 설명한다 (구조체나 클래스처럼, 말 그대로 설명하는 그 자체) NSManagedObjectContext의 인스턴스는 앱 타입들의 인스턴스의 변화들을 추적한다 (메서드? cre..
CoreData를 사용하기 위해서는 프로젝트 생성시에 Use Core Data를 체크하면 되지만 프로젝트 중간에 CoreData를 추가하게 되었다 프로젝트 중간에 CoreData 추가하기 Data Model 파일 생성하기 [command + N] 또는 [File] - [New] - [File...] 으로 Core Data의 Data Model 파일을 만들어준다 .xcdatamodeld 확장자의 파일이 생긴 것을 확인할 수 있다 AppDelegate 수정하기 AppDelegate를 그 다음으로 수정해주어야 한다 CoreData를 import해주고, import CoreData // MARK: UISceneSession Lifecycle 메서드들 다음에 아래 코드들을 추가해주자 // MARK: - Core ..
- Total
- Today
- Yesterday
- SWIFT
- core data
- ios
- 회원가입
- ASAuthorizationAppleIDCredential
- 클로저 강한 참조
- 클로저
- CoreData
- escaping closrue
- 클로저 축약
- Delegate 패턴
- 강한참조순환
- 메모리 안정성
- Persistent Container
- 클로저표현
- 강한 참조 순환
- authorizationCode
- 자동클로저
- autoclosure
- unowned
- inout 파라미터 메모리 충돌
- 디자인패턴
- weak
- object
- context
- identity Token
- Entity
- Core Data Stack
- 캡쳐리스트
- 토큰저장
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |