2016-09-28 2 views
0

일반적으로 Xcode와 관련하여 많은 문제가 있었지만 모든 프로젝트에서 이러한 문제가 발생하기 시작했습니다.CoreData가 'Create NSManagedObject Subclass'를 올바르게 만들 수 없음 Swift

새 엔터티를 만들었습니다. 핵심 데이터 모델에 올바른 '대상 멤버십'이 선택되었습니다.

내 신설 법인의 'NSManagedObject 하위 클래스 만들기'를 선택하려고하지만, 일단 마법사가 제대로 필요한 모든 단계를 통해 저를 취하고 난 다음 생성 스위프트 코드를 얻을 : 그러나

import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 


import Foundation 
import CoreData 


class CoreDatGeneric: NSManagedObject { 

// Insert code here to add functionality to your managed object subclass 

} 

을 ... I 내 코드 어디 CoreDatGeneric라는 이름의이 새로운 스위프트 클래스 ... 예를 들어

을 사용할 수 없습니다

let data = DoreDatGeneric()

,536,

은 컴파일러 오류가 발생합니다. Use of unresolved identifier 'CoreDatGeneric'

갑자기 모든 다른 이전 코어 데이터 엔티티가 정상적으로 작동하는 이유를 알 수 없지만, 그럴 수없는 지점에 머물러 있습니다. 내 프로젝트에서 핵심 데이터를 더 이상 사용하지 마십시오.

최신 Xcode가받은 부정적인 리뷰 때문에 Xcode 8로 업그레이드하는 것이 매우 걱정됩니다. 지금 Xcode 7을 사용하고 있습니다.

+0

'CoreDatGeneric.swift'가 Xcode의 앱 타겟에 속해 있습니까? 또한 클래스 이름 철자가 확실합니까? 네 질문에 잘못 입력 했어 .... –

답변

0

데이터 모델 검사기 패널로 이동하여 Codegen을 'Manual/None'으로 선택하십시오. 에디터 아래에서 관리 서브 클래스를 생성하십시오. Xcode는 신속한 파일 두 개를 생성합니다. 하나는 * Properties.swift로, 모델의 모든 속성이 포함 된 확장 파일입니다 (Xcode는 하위 클래스를 생성 할 때마다이 파일을 덮어 씁니다). 다른 하나는 사용자 정의 클래스 비헤이비어를 추가 할 수있는 * Class.swift입니다. 코드를 작성하지 않으면 ViewController에서

let data = CoreDatGeneric() 

을 호출 할 수 있습니다.

Codegen이 '클래스 정의'라고 말하면 프로젝트를 만들 때 클래스가 만들어 지므로 (프로젝트 검사기에 파일이 표시되지 않음) 관리되는 하위 클래스 만들기가 필요하지 않습니다. 그러나 당신은 여전히 ​​viewController (예를 들어)에 위에 쓰여진 것처럼 변수를 생성 할 수 있습니다.

관련 문제