내 프로젝트에서 coredata를 사용하고 있습니다. 엔티티의 하나는 newTotal라는 속성을 가지고 내가속성 이름이 new로 시작하면 응용 프로그램이 충돌합니다.
같은 오류가 표시됩니다 Xcode의 하위 클래스 NSObject의이 같은 속성을 추가 할 경우, 그 해당 NSManagedObject 클래스의 속성 선언은@property (nonatomic, strong) NSString *newTotal;
같다
error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
하지만 NSManaged 개체 하위 클래스에서 오류를 표시하지 않지만 속성에 액세스 할 때 응용 프로그램이 충돌합니다 (EXC_BAD_ACCESS).
XCode가 오류를 표시하지 않지만 응용 프로그램이 충돌하는 이유는 무엇입니까? 이것은 Xcode/clang/LLVM의 버그입니까?
나는 합성과 관련된 것을 알고있다. NSManagedObject 하위 클래스에서 속성을 합성하지 않지만 @dynamic 지시문은 getter 및 setter 메서드가 클래스 자체가 아닌 다른 곳 (수퍼 클래스 또는 런타임에 제공됨)에서 구현된다는 것을 컴파일러에 알립니다. 그러나 나는 그것에 대해 명확한 생각이 없습니다. 아무도 문제에 대해 명확한 생각을 줄 수 있습니까?
나는 것을 알고 있지만 왜 NSMAnageObject 서브 클래스에없는 – Johnykutty
NSManagedObject 대부분 비표준 영구 속성에 사용되는 오류 만 응용 프로그램 충돌을 표시합니다. iOS에서 직접 지원하지 않는 객체 나 데이터 구조를 사용할 수 있습니다. 이 객체를 하위 클래스로 분류하면 원하는 데이터 구조를 사용할 수 없으므로 일반 메모리 검사를 건너 뛸 수 있습니다. – avuthless
하지만 왜 그 오류가 표시되어야합니까? 당신은 당신이 이것을 할 수 없다는 것을 알고, 단지 그것을 피하십시오, 그리고 모든 것이 잘 될 것입니다. –