Objective c 为什么带有nsjsonserialization的代码总是只有在实际设备上运行时才会崩溃。在模拟器中很好

Objective c 为什么带有nsjsonserialization的代码总是只有在实际设备上运行时才会崩溃。在模拟器中很好,objective-c,json,nsstring,nsdata,nsjsonserialization,Objective C,Json,Nsstring,Nsdata,Nsjsonserialization,请参考同一问题 只有当我在实际设备上测试它时,我才会得到崩溃。模拟器工作正常。请帮忙 -(void)setFormatForAnswer:(NSDictionary*)answerDict withJsonString:(NSString*)json{ NSData *jsonDatanew = [NSJSONSerialization dataWithJSONObject: [answerDict copy] options:0 error:nil]; NSString *json

请参考同一问题

只有当我在实际设备上测试它时,我才会得到崩溃。模拟器工作正常。请帮忙

-(void)setFormatForAnswer:(NSDictionary*)answerDict withJsonString:(NSString*)json{ 
NSData *jsonDatanew = [NSJSONSerialization dataWithJSONObject:     [answerDict copy] options:0 error:nil]; 
NSString *jsonnew = [[NSString alloc] initWithData:jsonDatanew encoding:NSUTF8StringEncoding]; 
answerTobeReplacedInDB = jsonnew;
NSDictionary *answersDict = @{@"answers_json":json};
parameters = @{@"survey_answer":answersDict};
[自我提交服务和应答];
}

请发布崩溃日志@TejaNandamuri我附上了屏幕截图,这是在-(void)setFormatForAnswer:(NSDictionary*)answerDict with JsonString:(NSString*)json{NSData*jsonDatanew=[NSJSONSerialization dataWithJSONObject:[answerDict copy]选项:0错误:无];NSString*jsonnew=[[NSString alloc]initWithData:jsonDatanew encoding:NSUTF8StringEncoding];answerTobeReplacedInDB=jsonnew;NSDictionary*answersDict={{“answers_json”:json};parameters={{“survey_answer”:answersDict};[self-SubmittServeyanSweer];}请用代码更新问题,注释部分中难以阅读的代码是
answerDict
nil
answerDict
不是
NSDictionary
NSArray
?不!它一直都有价值。我确实记录了jsonDatanew,它有值。但可能是因为格式不正确,调用该方法是因为在bg中注册了一些通知。