She*_*lam 8 memory iphone cocoa-touch objective-c nsarray
我正在从互联网解析一些JSON,然后将它们添加到一个数组,这是我的UITableView的数据源.我不确定何时应该发布我的阵列?
.h:物品
@property(nonatomic,retain)NSMutableArray* items;
Run Code Online (Sandbox Code Playgroud)
.m:connectionDidFinishLoading
// fetch succeeded
NSString* json_string = [[NSString alloc] initWithData:retrievedData encoding:NSUTF8StringEncoding];
//Check ST status
int status = [[[[json_string objectFromJSONString] valueForKey:@"response"] valueForKey:@"status"]intValue];
//NSLog(@"Status: %d", status);
items = [[NSMutableArray alloc] init];
NSDictionary* messages = [[NSDictionary alloc] init];
switch (status) {
case 200:
messages = [[[json_string objectFromJSONString] valueForKey:@"messages"] valueForKey:@"message"];
for (NSDictionary *message in messages)
{
[items addObject:message];
}
[self.tableView reloadData];
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
一,如果你打算调用它,你可能想要声明items为一个实例.NSMutableArrayaddObject:
二,将它声明为一个属性,这样如果你最终得到它多次,那么当你这样做时,旧的值将被释放.
self.items = [NSMutableArray array];
Run Code Online (Sandbox Code Playgroud)
释放它的正确点是dealloc.