ios開發之使用block引發迴圈引用導致記憶體洩露
阿新 • • 發佈:2018-12-31
// // JLPerson.h // BlockTest // // Created by Mac on 15-3-28. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import typedef void (^MyBlock)(); @interface JLPerson : NSObject @property (nonatomic, copy)NSString *name; @property (nonatomic, copy)MyBlock block; @end // // JLPerson.m // BlockTest // // Created by Mac on 15-3-28. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import "JLPerson.h" @implementation JLPerson @end // // JLTwoViewController.m // BlockTest // // Created by Mac on 15-3-28. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import "JLTwoViewController.h" #import "JLPerson.h" @interface JLTwoViewController () @property (nonatomic, strong)NSArray *persons; @property (nonatomic, copy)NSString *title; @end @implementation JLTwoViewController - (void)viewDidLoad { [super viewDidLoad]; [self testBlock]; } - (void)testBlock{ JLPerson *person1 = [[JLPerson alloc] init]; person1.name = @"zhangsan"; JLPerson *person2 = [[JLPerson alloc] init]; person2.name = @"lisi"; person2.block = ^{ self.title = @"Hello World"; }; self.persons = @[person1, person2]; } - (void)dealloc{ NSLog(@"---JLTwoViewController---"); } @end