SBJSONを使用してJSON文字列を解析するときのメモリリーク
-
29-10-2019 - |
質問
私は次のコードを使用してJSONを解析し、ライン番号2でメモリリーク(100%)を取得しています。私は何が問題なのかわかりません、誰かが私を助けてくれますか?
NSString *response = [request responseString];
NSMutableDictionary *responseJSON = [response JSONValue]; (100% leak)
NSString *tockenString = [responseJSON objectForKey:@"Token"];
NSString *userIDString = [responseJSON objectForKey:@"ID"];
解決
答えを見つけました。 sbjsonparser.m機能scanrestofstringに移動し、ラインを変更します
から
*o = [[NSMutableString alloc] initWithBytes:(char*)c length:len encoding:NSUTF8StringEncoding];
に
*o = [[[NSMutableString alloc] initWithBytes:(char*)c length:len encoding:NSUTF8StringEncoding] autorelease];
SBJSonParserには、ScanrestofString/nsmutablestringに似ています。バグも報告しました。皆さん、ありがとうございました。
他のヒント
これら2つのオートレリーズを削除します。オブジェクトをオーバーレリーフします。
私は同様の問題を抱えていましたが、漏れが実際に方法のチェーンで高かったことが判明しましたが、楽器は(誤って)このラインを指していました。このコードから取得した結果を保存する方法を見てください。
所属していません StackOverflow