core-data 튜토리얼
코어 데이터 시작하기
수색…
비고
Core Data는 iOS 및 OS X를 포함하여 Apple의 다양한 OS SDK의 프레임 워크입니다. 모델 계층과 지속성 계층이라는 두 가지 주요 역할을 담당합니다. 모델 계층은 모델 객체의 관리 및 데이터 보존에 사용됩니다. 간단히 객체 지향 인터페이스에서 데이터를 저장하고 관리 할 수 있습니다. 주요 기능으로는 필터링, 쿼리, 정렬, 데이터 보존 및 데이터 간의 관계 생성이 있습니다. 핵심 데이터 프로젝트에 관심있는 다른 주제는 NSPredicate, 스레딩 및 다른 것들입니다.
핵심 데이터의 예제 응용 프로그램은 로컬 라이브러리의 카탈로그 응용 프로그램 일 수 있습니다. 카탈로그 응용 프로그램에서 사서가 책을 추가하거나 제거 할 수 있습니다. 또한 장르별로 책을 필터링하거나, 발행일 기준으로 책을 분류하거나, 특정 저자 저작물을 검색 할 수 있습니다. 엔티티 "Book"은 제목, 작성자, 게시 날짜, isbn, 호출 번호 등과 같은 다양한 속성을 갖습니다. 위의 예제를 포함한 핵심 데이터는 서버에서 수집 한 데이터를 저장할 수도 있습니다.
프레임 워크의 주요 구성 요소는 다음과 같습니다.
- 데이터 모델 (엔티티, 속성 및 관계)
- 코어 데이터 스택 (NSPersistentStoreCoordinator, NSManagedObjectModel, NSManagedObjectContext)
- NSFetchRequest
- NSFetchedResultsController
출처 :
CoreData 및 동시성
CoreData는 스레드로부터 안전 하지 않다는 것을 기억하는 것이 중요합니다. 즉, 예를 들어 ManagedObjects에서 작업하기 위해 백그라운드 스레드를 사용해야하는 경우 PrivateQueue- / MainQueue -ManagedObjectContexts와 같은 새로운 사항을 고려해야합니다.
Apples의 다큐멘터리 : Core Data는 단일 스레드에서 실행될 것으로 예상됩니다. 스레드간에 관리 대상 객체 컨텍스트를 절대로 공유해서는 안됩니다. 이것은 깨지 말아야 할 어려운 규칙입니다.
첫 번째 모델 만들기
-
.xcdatamodeld
파일을 선택하십시오. 엔티티가 없다는 것을 알게 될 것입니다. 너는 너 자신을 창조해야 할 것이다. Xcode의 맨 아래에 "Add Entity"라고 쓰여있는 버튼을 클릭하면 프로젝트에서 사용할 새로운 엔티티가 생깁니다.
- 이 단계에서 언급 할 몇 가지 사항이 있습니다. 먼저 엔티티 이름을 변경했다는 것입니다. 여기 엔 엔티티 이름이
Person
지정되어 있습니다. 속성 섹션에서 모델에 속성을 추가합니다. 이 버튼은 섹션 하단에있는 더하기 기호입니다. 앱과 관련된 모든 속성을 추가 할 수 있습니다. 예를 들어 연락처 북 앱을 만드는 경우 Person 모델에Boolean
유형의Arms
속성이 포함될 필요가 없습니다. 앱과 관련하여 보관해야합니다. 예를 들어 Integer 유형의telephone
속성을 추가하거나 String을 원한다면Booleans
에서Dates
등 다양한 유형을 선택할 수 있습니다.
- 모델에 만족하면 NSManagedObject 하위 클래스를 만들 수 있습니다.
여기서 우리는 두 가지 중요한 것을 볼 수 있습니다. 첫째, Person (당신의 엔티티 이름과 동일)은 NSManagedObject의 서브 클래스입니다. 이는 핵심 데이터 스택에서 중요합니다. 둘째, 두 개의 파일, 클래스 생성이
Person.swift
와의 확장Person
이라고Person+CoreDataProperites.swift
.Person.swift
에서 모든 추가 작업을 수행해야합니다. 모델을 변경하고 클래스 생성기를 다시 실행하면Person+CoreDataProperties.swift
모든 항목을 덮어 씁니다.
프로젝트 만들기
취할 첫 번째 조치는 새 프로젝트 파일> 새로 만들기> 프로젝트를 만드는 것입니다. 여기서 단일보기 응용 프로그램이 선택되었지만 프로젝트에 가장 적합한 것을 선택할 수 있습니다.
핵심 데이터 설정의 다음 단계는 프로젝트에 정보를 추가하는 것입니다. 아래 사진의 중요한 부분은 "핵심 데이터 사용"을 선택하는 것입니다.