Xcode에서 데이터 모델을 만들고 모든 엔티티를 선택하고 편집기 -> NSManagedObject 서브 클래스 만들기를 클릭했습니다. 그것은 모든 + CoreDataProperties와 + CoreDataClass를 내 프로젝트가 아닌 내 작업 영역의 범위에 만들었습니다.CoreData 하위 클래스에서 새 속성을 만들 수 없습니까? iOS8 Swift3
public class Child: NSManagedObject {
enum Gender:Int{
case male=0,female,unknown
}
var uuid:UUID = UUID()
var gender:Gender?
convenience init(name:String,birthday:String,gender:Int){
self.init()
self.name = name
self.birthday = Conversor.convertDate(dateString: birthday)
if(gender >= 0 && gender <= 2){
self.gender = Gender(rawValue: gender)!
}
}
func setGender(gender:Int){
self.gender = Gender(rawValue: gender)!
}
func setBirthday(birthday:Date?){
self.birthday = birthday
}
}
나는 속성 파일을 터치하지 않았다
난 후 다음과 같이 클래스 파일을 편집하는 것을 진행했다. 내가 CoreData에 대해 배운 모든 곳 클래스 파일은 엑스 코드에 의해 다시 생성되지 않는다는 얘기하고 편집하는 것이 안전라고하지만 난 사용하려고하면 나에게 반대// This file was automatically generated and should not be edited.
를 알려주는 파일의 코멘트가있다 내 프로젝트의 클래스는 자동 완성은 성별을 찾아 UUID 내가 그것을 사용하려고하면 그것은라고 할 수 없습니다 이런 종류의 많은 다른 오류 중
'Gender is not a member type of 'Child'
해당 파일의 대한 언급이 없다 프로젝트 구축 단계
올바른 방법은 무엇입니까? CoreData와 아무런 관련이없는 다른 속성과 메서드를 가질 수 있도록 CoreData 클래스를 편집하려면 어떻게해야합니까?
는 :
답변 해 주셔서 감사합니다. 나는 그것을했다, 그것은 여전히 작업 영역 범위에서 만들었습니다. 이제 프로젝트에서 자식을 찾을 수 없습니다. 그것은 "선언되지 않은 타입 'Child'의 사용이라고 말합니다 –
Xcode를 청소하고 다시 시작한 후에는 완벽하게 작동했습니다. 감사합니다. –
다행, 그게 효과가 있습니다. :) –