null 값 (JSON 응답)이 포함 된 내 서버에서 응답을 받으면 Null 값을 처리 할 때 RestKit 내부 매핑이 충돌합니다.Swift에서 RESTKIT을 사용하여 JSON에서 Null 매핑을 처리하는 방법
이 문제를 극복하는 방법은 무엇입니까?
"누락 된"메서드를 포함하도록 NSNull을 확장했지만이 방법이 제대로 작동하지 않았고 잘못되었습니다. 다음
내 매핑 및 오브젝트 코드와 restkit 출력입니다 :
객체 매핑 :
var tempmapping = RKObjectMapping(forClass: PRLAUser.classForCoder())
tempmapping.addAttributeMappingsFromDictionary([
"firstName" : "firstName",
"secondName" : "lastName",
"email" : "email",
"id" : "prlaToken"
])
오브젝트 코드 - 잘 적어도 매핑되고있는 변수 :
var email : String?
var firstName : String?
var lastName : String?
var prlaToken : String?
오류 로그 :
Parola[6138:3119821] -[NSNull length]: unrecognized selector sent to instance 0x197b86ba0
2015-01-20 15 : 53 : 37.973 Parola [6138 : 3119821] * 캐치되지 않은 예외 'NSInvalidArgumentException'으로 인해 응용 프로그램 종료 중 - 이유 : '[NSNull 길이] : 인스턴스에 전송 된 인식 할 수없는 선택기 0x197b86ba0' * 첫 번째 호출 스택을 굴림 : (0x1867fa59c 0x196f040e4 0x186801664 0x1867fe418 0x186702b6c 0x100707964 0x100023dc8 0x187605b10 0x1000a34a0 0x1000a4078 0x1000a99d4 0x1000a8dfc 0x10009a8f4 0x1000995a8 0x10009bbb4 0x10009c294 0x10009ca84 0x1875f461c 0x1000e4754 0x1000e2acc 0x1875f461c 0x1876b626c 0x1007b4df0 0x1007bf854 0x1007b8120 0x1007c175c 0x1007c2f18 0x1977252e4 0x197724fa8) 의 libC++ abi.dylib : 형 캐치되지 제외 종결 NSException
어시스턴트 문제에 관해서.
http : // stackoverflow를 참조하십시오.co.kr/a/16610117/1633251 –
이 게시물을 더 일찍 보았습니다. 이 게시물은 이러한 호출을 피하기 위해 NSNull 확장을 제안합니다. 이 전화는 문제가되지 않습니다. 문제는 그들이 전화를받는 이유입니다. – user1666216
JSON이 어떤면에서 Swift와 같은지 생각해보십시오. 당신은 "foo"의 키와 "bar"의 값을 가진 사전을 가질 수 있으며, 값은 nil이 될 수 있습니다. Nil은 완전히 합법적이며 JSON에서 기본 변환으로 [NSNull null]을 자리 표시 자로 삽입합니다. 변환 된 JSON을 처리하는 한 가지 방법은 각 값, 즉 [NSNull null]에 대한 모든 문자열, 숫자, 배열 또는 사전을 테스트하고 처리하는 것입니다. 나는 그것을 시도하고 점점 더 복잡 해졌다. 다른 해결책은 NSNull에서 일반적인 메시지를받을 때 어떤 식 으로든 정상적으로 돌아 오는 것입니다. 따라서 위의 솔루션입니다. –