内存管理_零碎记录

来源:互联网 发布:手机看本子的软件 编辑:程序博客网 时间:2024/06/05 03:00

1.以下方法中局部变量myArray和全局变量_sqlData.array引用了同一块内存
当这个方法过了,这个局部变量的指针就被销毁,引用计数就由2变成1,
所以这里有一个点要注意,在一个方法中开了一块内存,过了这个方法,是局部变量的指针没了,内存销不销毁看的是引用计数,跟方法过了没有关系,所以我在其他方法里面输出_sqlData.array,依旧有值的

- (void)sqlFindClick {    [_sqlModel findResult:^(FMResultSet *result) {        NSMutableArray *myArray = [[NSMutableArray alloc] init];        while ([result next]) {            NSDictionary *dict = [[NSDictionary alloc] init];            NSString *name = [result stringForColumn:@"name"];            NSString *message = [result stringForColumn:@"message"];            NSString *time = [result stringForColumn:@"time"];            NSLog(@"数据库:查询结果name:%@, message:%@, time:%@",name,message,time);            dict = @{                     @"name"    : name,                     @"message" : message,                     @"time"    : time                     };            NSLog(@"输出:%@",dict);            [myArray addObject:dict];            [_sqlData.array addObject:dict];        }        _sqlData.array = myArray;    }];}
原创粉丝点击