试试这几个block的问题

322 阅读1分钟

第一题

Person *person = [[Person alloc]init];
person.age = 20;
void(^block)(void) = ^(){
    NSLog(@"%li",person.age);
};
person.age = 40;
block();

第二题

Person *person = [[Person alloc]init];
person.age = 20;
void(^block)(void) = ^(){
    NSLog(@"%li",person.age);
};
person = [[Person alloc]init];
person.age = 40;
block();

第三题

Person *person = [[Person alloc]init];
person.age = 20;
__weak Person *weakPerson = person;
void(^block)(void) = ^(){
    NSLog(@"%li",weakPerson.age);
};
person = [[Person alloc]init];
person.age = 40;
block();

第四题

__weak Person *person = [[Person alloc]init];
person.age = 20;
void(^block)(void) = ^(){
    NSLog(@"%li",person.age);
};
person.age = 40;
block();

第五题

Person *person = [[Person alloc]init];
person.age = 20;
void(^block)(void) = ^(){
    person = [[Person alloc]init];
    person.age = 40;
    NSLog(@"%li",person.age);
};
block();

第六题

__block Person *person = [[Person alloc]init];
person.age = 20;
void(^block)(void) = ^(){
    NSLog(@"%li",person.age);
};
person = [[Person alloc]init];
person.age = 40;
block();

第七题

__block Person *person = [[Person alloc]init];
person.age = 20;
__weak Person *weakPerson = person;
void(^block)(void) = ^(){
    NSLog(@"%li",weakPerson.age);
};
person = [[Person alloc]init];
person.age = 40;
block();