こんにちは、obj-c の初心者です。
json で奇妙な結果が得られました。NSThread によって呼び出される json 関数があります。最初に json 関数を実行すると結果が表示されますが、関数が 2 回目に呼び出されると null が返されます。
ここに私のjson関数があります:
- (void) updatePaxWithBook:(Book*)_book{
NSString* bookCode = _book.bookCode;
NSString* url = [NSString stringWithFormat:@"%@/?book_code=%@", URL_UPDATE_PAX,bookCode];
url = [url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
JSONDecoder* jDecoder = [[JSONDecoder alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
jObject = [jDecoder objectWithData:response];
NSString* errCode =@"";
if ([[jObject objectForKey:@"err_code"] isKindOfClass:[NSNumber class]]) {
errCode = [[jObject objectForKey:@"err_code"] stringValue];
} else {
errCode = [jObject objectForKey:@"err_code"];
}
NSLog(@"OUT >> %@",jObject);
NSLog(@"OUT >> %@",errCode);
}
したがって、最初の json を実行すると、次のような応答が返されます。
{ "err_code": 0, "book_code": "1XX1AS", "pax_num": [1,0,0], "pax_name": ["USER NAME"] }
いくつかの結果を示す NSLog:
OUT >> {
"book_code" = 1XX1AS;
"err_code" = 0;
"pax_name" = (
USER NAME
);
"pax_num" = (
1,
0,
0
);}
OUT >> 0
しかし、関数が 2 回呼び出されたときの応答は次のとおりです。
{ "err_code": 001002, "err_msg": "Validation error: there are no changes on original data." }
およびいくつかのヌルを示す NSLog
OUT >> (null)
OUT >> (null)
コードの何が問題になっていますか? どうすればよいですか?