这是对此的后续问题
简而言之,我正在使我的应用程序 ios 4.3 兼容并AFNetworking
在我的应用程序中使用支持 ios 4 的类版本 0.10.1。这条线self.responseJSON = AFJSONDecode(self.responseData, &error);
给了我下面的错误。我不太熟悉 jason 并试图弄清楚这个错误的含义。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** - [JKDictionary allocWithZone:]: The JKDictionary class is private to JSONKit and should not be used in this fashion.'
*** Call stack at first throw:
(
0 CoreFoundation 0x006ef5a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x018e6313 objc_exception_throw + 44
2 CoreFoundation 0x006a7ef8 +[NSException raise:format:arguments:] + 136
3 CoreFoundation 0x006a7e6a +[NSException raise:format:] + 58
...
...
26 libdispatch_sim.dylib 0x02888289 _dispatch_call_block_and_release + 16
27 libdispatch_sim.dylib 0x0288acb4 _dispatch_queue_drain + 250
28 libdispatch_sim.dylib 0x0288b2c2 _dispatch_queue_invoke + 49
29 libdispatch_sim.dylib 0x0288b593 _dispatch_worker_thread2 + 261
30 libsystem_c.dylib 0x90093b24 _pthread_wqthread + 346
31 libsystem_c.dylib 0x900956fe start_wqthread + 30
错误来自 JSONKit.m:
+ (id)allocWithZone:(NSZone *)zone
{
#pragma unused(zone)
[NSException raise:NSInvalidArgumentException format:@"*** - [%@ %@]: The %@ class is private to JSONKit and should not be used in this fashion.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), NSStringFromClass([self class])];
return(NULL);
}
使用 ios 5,该应用程序正在使用self.responseJSON =[NSJSONSerialization JSONObjectWithData:self.responseData options:0 error:&error];
效果很好的线路,但我当然不能在 ios 4 中使用它,因为NSJSONSerialization
不支持。
任何形式的帮助将不胜感激。