-
iOS) core data, transformable erroriOS 2020. 2. 19. 21:19728x90
[error] fault: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable.
Core data로 transformable을 타입을 사용하려고 하는데 위와 같은 에러를 만날 때가 있습니다.
NSKeyedUnarchiveFromDataTransformerName로 설정되어 있거나 설정되지 않은 transformer name을 가진 transformable properties가 있다고 알려주고 있습니다. "NSSecureUnarchiveFromData" 나 NSSecureUnarchiveFromDataTransformer의 서브 클래스로 바꾸라고 알려주는데요, Object-C에 익숙하지 않은 제겐 한 없이 이해 안가는 이야기 투성입니다.사실 핵심은 처음에 있습니다. transformable properties가 NSKeyedUnarchiveFromDataTransformerName 로 설정되거나 설정되지 않아서 문제라고 합니다. NSKeyedUnarchiveFromDataTransformerName는 대충DataTransformerName에 archive되지 않은 타입을 말하는 것 같습니다.
transformable은 배열과 같이 지정되지 않은 예외 타입의 attribute를 적용할 때 사용하는데요, Custom class에 타입을 명시해줘야 합니다.
제 경우는 아예 타입을 따로 지정한 적이 없어서 unset 의 경우에 해당했습니다. 잘못된 타입을 사용해도 같은 에러가 날 것 같네요!
아래 그림처럼 .xcdatamodeld 에서 Transformable 타입으로 지정한 attributes의 Custom class를 지정해주면 됩니다.
감사합니다 :)
'iOS' 카테고리의 다른 글
iOS) simulator에서 API error (0) 2020.03.01 iOS) Realm Numeric Optional (0) 2020.02.28 although set autolayout, UIImageView's image very huge (0) 2020.02.19 iOS) Storyboard 없이 개발하기2 (iOS13 개정판) (0) 2020.02.10 UIBeizerPath (2) 2020.01.09