특히, "statusCode"속성이 transformable로 설정된 NSManagedObject와 NSStrings에서 NSNumbers로 또는 그 반대로 변환 할 수있는 reversible value transformer 하위 클래스가 있다고 가정 해보십시오. JSON을 수신하고 JSON의 "상태"키에서 문자열을 자동으로 NSManagedObject의 해당 상태 코드를 나타내는 NSNumber에 매핑하도록 값 변환기를 사용하는 것이 아이디어입니다. 반대로 NSManagedObject를 서버에 업로드 할 경우 해당 상태 속성은 NSNumber에서 JSON 문자열로 변환됩니다.NSManagedObject 특성에 대해 NSValueTransformer를 조건부로 사용하지 않도록 설정할 수 있습니까?
지금까지 그렇게 좋았습니다. 하지만 NSManagedObjec의 status 속성에서 간단한 int를 얻을 수 있기를 원한다면 코드의 열거 형과 함께 사용할 수 있습니까? 이다 , 나는 3 예를 충당하기 위해 거짓말을 것 :
myManagedObject.status = [JSONResponse valueForKey:@"status"]
(있는 NSString 할 변압기를 사용한다 ->의 NSNumber)[JSONforUpload setValue:myManagedObject.status forKey:@"status"]
(NSNumber-을 수행하는 변압기를 사용한다>는 NSString)- 에서을 코드의 다른 부분, 다음 행의 모든 것 :
if(myManagedObject.status & statusInProgress) ...
statusInProgress는 열거 형입니다.
NSManagedObject가에 대한 참조가있는 경우, 또는 내가 분명히 등록의 테이블을 유지하는 NSValueTransformer 클래스에서 사용하지 않도록 설정하는 경우는, 그러나 나는 아무 생각이 없다 변압기?
나는 3 번째의 경우에 단지 [myManagedObject.status intValue]
을 수행하고 비트 비교를 수행 할 수 있음을 알고 있지만,이 객체의 관점에서 사용자가 자동으로 반환 할 수있는 방법이 있는지 궁금합니다. .
아이디어가 있으십니까?
입니다. 그리고 만약 그렇지 않다면 되돌릴 수 있습니다. 그러나 그것을 끄고 변환 가능한 속성을 유지할 수있는 방법이 있는지 궁금합니다. – SaldaVonSchwartz