2016-11-02 2 views
0

클래스에서 핵심 데이터의 엔티티 이름을 참조하려면 이전에 "Editor"> "Create NSManagedObject Subclass"를 사용해야합니다. 그러나 이러한 자동 하위 클래스를 만든 후에 몇 가지 오류가 발생했습니다. Swift 3에서 NSManagedObject를 하위 클래스로 만들 필요가 없습니까?

내 프로젝트는 그래서 스위프트 3은 더 이상 개체를 참조하는 하위 클래스를 필요로하지 않습니다,이 서브 클래스 파일없이 잘 실행?

답변

1

스위프트 3에서는 NSManagedObject 초의 하위 클래스를 수동으로 만들 필요가 없습니다.

기본적으로 자동으로 만들어집니다. 그러나 수동으로 파일을 만들려면 testCD.xcdatamodeld의 유틸리티 영역에서 CodegenManual/None으로 설정하십시오. 애플의 What's new in Core Data에서

:

엑스 코드 자동 서브 클래스 생성

엑스 코드는 이제 모델링 도구에서 NSManagedObject 하위 클래스의 자동 생성을 지원합니다. 엔티티 관리자에서 :

  • 수동/없음이 기본값이며 이전 동작입니다. 이 경우 자신의 하위 클래스를 구현하거나 NSManagedObject를 사용해야합니다.
  • 범주/확장명은 ClassName + CoreDataGeneratedProperties와 같은 파일에 클래스 확장을 생성합니다. 메인 클래스를 선언/구현해야합니다 (Obj-C의 경우 확장명이 ClassName.h 인 을 가져올 수있는 헤더를 통해).
  • 클래스 정의는 ClassName + CoreDataClass와 같은 하위 클래스 파일과 범주/확장에 대해 생성 된 파일을 생성합니다.

생성 된 파일은 DerivedData에 저장되고 모델 저장 후 첫 번째 빌드에서 다시 작성됩니다. 그것들은 또한 Xcode에 의해 색인이 생성되기 때문에 참조를 명령 클릭하고 파일 이름으로 빨리 여는 것이 효과적입니다.

관련 문제