2017-03-18 5 views
1

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 클래스를 편집하려면 어떻게해야합니까?

는 :

답변

1

수동/없음 오른쪽 창에서 개체에 대한 코드 생성을 선택하십시오 사전에 대단히 감사드립니다. 편집기 -> Create NSManagedObject Subclass를 클릭하십시오.

+0

답변 해 주셔서 감사합니다. 나는 그것을했다, 그것은 여전히 ​​작업 영역 범위에서 만들었습니다. 이제 프로젝트에서 자식을 찾을 수 없습니다. 그것은 "선언되지 않은 타입 'Child'의 사용이라고 말합니다 –

+1

Xcode를 청소하고 다시 시작한 후에는 완벽하게 작동했습니다. 감사합니다. –

+0

다행, 그게 효과가 있습니다. :) –