私はiosプログラミングの初心者なので、質問があります。私はアプリに取り組んでおり、インターネット上にデータをロードし続けます。これはページング データであるため、ユーザーが次のページに移動すると、インターネット上のページのデータがロードされます。シングルトンクラスを使用して作成しましたが、問題なく動作しますが、質問がありました-
最初のページが到着したら - のように self.posts 変数に保存しself.posts = dataA
、ユーザーが次のページに移動すると、 self.posts を dataB のように変更しますself.posts = dataB
。私の質問は、dataA が iOS によって自動的にリリースされるかどうかです。そうでない場合、これらのガベージメモリを処理する方法は? ページごとにデータが読み込まれることはわかっていますが、非常に多くのページが読み込まれると、問題になる可能性があります......ありがとう。
申し訳ありませんが、アプリは iOS 3.x+ 用であるため、ARC は使用できないと思います。この関数を確認してください。HTTP 接続が完了した後に呼び出され、JSON を NSDictionary に解析します。ページごとに約 5 つの投稿が読み込まれ、次のページにはさらに 5 つの投稿が読み込まれるので、self.posts が変更されます。別の新しい HTTP ネットワーキングの場合。
- (void) getNextPostsFromJson:(NSData *)data
{
NSError *theError = nil;
NSDictionary *dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:data error:&theError];
if (dict == nil) {
isValidJson = NO;
httpStatus = HTTP_STATUS_FAILED;
NSLog(@"json con - %@ %@",
[theError localizedDescription],
[[theError userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
} else {
NSArray *keys = [dict allKeys];
if ([keys count] >= TOTAL_SECTIONS) {
self.posts = dict;
} else {
self.posts = nil;
}
NSLog(@"posts = %@", self.posts);
return;
}
}