2016-07-12 3 views
2

내 변수 entityDescription이 nil 인 것 같습니다. 따라서 컴파일하는 동안 치명적인 오류가 발생했습니다. 누구든지 해결책을 알고 있습니까? persistentContainer은 동일한 클래스 (AppDelegate)에서 선언됩니다.NSEntityDescription은 nil입니다.

let entityDescription = NSEntityDescription.entity(forEntityName: "Person", in: self.persistentContainer.viewContext) 
let newPerson = NSManagedObject(entity: entityDescription!, insertInto: self.persistentContainer.viewContext) 
newPerson.setValue("Thomas", forKey: "first") 

답변

2

핵심 데이터 Xcode 템플릿을 살펴보십시오. (새 프로젝트를 선택하고, 마스터/디테일을 확인하고, 코어 데이터를 확인하십시오.) 스위프트 3에서는 유효한 관리 객체 컨텍스트를 사용하는 것과 같은 새 객체를 만듭니다.

let newPerson = Person(context: context) 
newPerson.first = "Thomas" 
+0

이것은 당신이 아룬 EA의 반응을 확인해야 다음 버전의 아이폰 OS (10) 만 사용할 수 있습니다 : http://stackoverflow.com/a/38344166/2452039 –

+0

아니, API 구문이 다른는 원칙은 수년 전 Core Data의 이전 버전과 동일합니다. – Mundi

4

메서드 이름을 확인하십시오. 다음 코드는 나를위한 NSEntityDescription 개체를 만듭니다.

let desc:NSEntityDescription? = NSEntityDescription.entityForName("Person", inManagedObjectContext: self.managedObjectContext); 
print(desc) 
관련 문제