목록Swift - 데이터베이스 (6)
기어가더라도 제대로

CoreData 옵셔널의 의미 CoreData는 기본적으로 Entity에 프로퍼티가 값이 옵셔널 타입이다. 여기서 옵셔널의 의미는 Swift 에서 사용하는 옵셔널의 의미와 조금 다르다. Swift: 이 변수에 값이 있을수도 있고, 값자체가 없을 수도 있음 CoreData: 인스턴스가 생성이 되서 프로퍼티에 값을 할당하기 전에 빈 공간을 만들어준다는 의미 이러한 차이가 있다. 보통 엔티티를 만들고 Codegen을 통해서 파일을 만들면 Swift 파일 두개가 생성이 되는데, 잘 보면 그 안에 형식이 다음과 같다. Entity의 name 프로퍼티가 String 타입이지만, 옵셔널을 달고 있는데, 위에서 말한 것 처럼 swift 적 옵셔널이 아니라 CoreData 적인 옵셔널이다. @NSManaged는 Prop..

ForEach 문에서 \.self 가 가지는 의미 List { ForEach([2, 4, 6, 8, 10], id: \.self) { Text("\($0) is even") } } 위의 정수형 배열이 변한다고 했을 때 변하는 값만 추적해서 뷰를 다시 짜야함 배열에서 값이 유일하다고 인정 받기 위해서, Identifiable 이란 프로토콜을 채택하기도 하는데, 그게 없어도 String, Int 처럼 유일함을 인정받을 수 있음 \.self : 그 오브젝트 '자체' 를 식별자로 쓰겠다는 의미 사실 여기서 String, Int 는 Hashable 이라는 프로토콜을 채택하고 있어서 Struct이긴 하지만 해쉬값으로 변환이 가능하기 때문에 \.self 로 사용이 가능함 우리가 추가해주는 커스텀한 타입들도 Hasha..

목차 - core data 는 무엇? - DB 와 다른가? ORM은 무엇인가? - Application's Model Layer - Data Model 만들기 - Entity 란? - Core Data Model로 부터 Swift Class 만들기(3가지 방법) - Core Data Stack 이란? 그리고 생성하기 - NSManagedObjectModel - NSManagedObjectContext - NSPersistentStoreCoordinator - NSPersistentContainer - 뷰와 연결하기 - 사례 예시: Business, Department, Employee :: Core Data Model - Get, Add, Delete, Update Core Data는 무엇인가? 앱의 모..