설정 :클래스 클러스터에서 "최상위"클래스의 이름을 얻는 방법은 무엇입니까?
데이터가 JSON을 통해 수신됩니다.
NSJSONSerialization을 사용하여 JSON을 객체로 변환합니다.
JSON에서 숫자 값이 여러 가지 가능한 클래스 유형으로 오브젝티브 C로 제공 :
(NSNumber, NSDecimalNumber or __NSCFNumber
) - 그 모든 NSNumber
에서 클래스 클러스터에 있습니다.
문제 :
1) I 클래스 클러스터 "우산"클래스 얻을 수있는 방법이 필요 - 내가 유형 NSNumber, NSDecimalNumber or __NSCFNumber
의 값을 가질 때, NSNumber
을.
문자열과 동일합니다. 나는를 얻는 방법이 필요합니다. NSString, NSMutableString, __NSCFString, __NSCFConstantString
.
2) 예를 들어 NSString 클러스터의 모든 클래스 목록을 코드로 가져올 수도 있습니다. 그런 다음 런타임에 목록을 동적으로 빌드하고 완료되었는지 확인하십시오. 내가 지금까지 무엇을 가지고
:
지금까지 나는 그것을 할 수있는 온건 한 방법을 마련 할 수 없었다. 따라서 허용 된 유형의 목록이 있지만 완벽하지는 않을지 모르지만 가장 좋은 해결책 인 것처럼 느껴지지 않습니다.
코드 : https://github.com/icanzilb/JSONModel/blob/master/JSONModel/JSONModel.m#L45
또한 'NSCFBoolean'은 NSNumber의 하위 클래스입니다. –