JSON 가져 오기의 문자열 사전을 KVC 호환 NSManagedObject에 매핑하려고 시도했지만 성공적으로 setValue: forKey:
을 사용할 수 있지만 형식을 매핑하는 방법을 알 수 없습니다.iOS KVC DRY 돌연변이
예를 들어 날짜를 임의의 문자열로 설정할 수 없어야합니다 : Printing description of myDate: asdfsadf
그러나 효과가있었습니다.
나는 유용한 조언을 제공 한 https://stackoverflow.com/a/5345023/828859을 보았습니다. 들어가서 모든 속성에 대한 유효성 검사를 만들 수는 있지만 병이 모든 날짜의 유효성을 검사하고 날짜가있을 때마다 별도의 값을 설정해야하기 때문에별로 건강하지 않은 것으로 보입니다.
내가 setValue: forKey:
을 사용하기 전에 유형별로 돌연변이하는 것을 선호하지만 속성 유형을 어떻게 구별 할 것인지 잘 모릅니다.
switch([object typeforkey:key]){
case @"NSDate":
//...
value = mutatedDate
//...
}
[object setValue:value forKey:key];
사실,하지만 내 질문에 명확하지 않았다, 사전은 JSON 응답에서, 그래서 문자열의 사전. – MrJD
아, 알겠습니다. 나는 당신이 원하는 것을 할 수있는 깨끗한 방법이 없다고 생각합니다. 당신은 키가 미리 무엇인지 그리고 그 타입이 무엇인지 알 필요가 있고 그것을 기반으로 객체 타입을 바꿀 필요가있다. 그렇지 않으면 당신은 당신이 작업하고있는 것과 유효성을 확인하기 위해 전체 문자열 스캔을 할 필요가있다. –