1. 程式人生 > >ios開發之使用block引發迴圈引用導致記憶體洩露

ios開發之使用block引發迴圈引用導致記憶體洩露

//
//  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