block捕獲變量的幾道測試題

第一題

    NSInteger age = 20;
    void(^block)() = ^(){
        NSLog(@"%li",age);//打印的值為幾
    };
    age = 40;
    block();

第二題

    SCPerson *person = [[SCPerson alloc]init];
    person.age = 20;
    void(^block)() = ^(){
        NSLog(@"%li",person.age);//打印的值為幾
    };
    person.age = 40;
    block();

第三題

    SCPerson *person = [[SCPerson alloc]init];
    person.age = 20;
    void(^block)() = ^(){
        NSLog(@"%li",person.age);//打印的值為幾
    };
    person = [[SCPerson alloc]init];
    person.age = 40;
    block();

第四題

    SCPerson *person = [[SCPerson alloc]init];
    person.age = 20;
    __weak SCPerson *weakPerson = person;
    void(^block)() = ^(){
        NSLog(@"%li",weakPerson.age);//打印的值為幾
    };
    person = [[SCPerson alloc]init];
    person.age = 40;
    block();

第五題

    SCPerson *person = [[SCPerson alloc]init];
    person.age = 20;
    __weak SCPerson *weakPerson = person;
    void(^block)() = ^(){
        __strong SCPerson *strongPerson = weakPerson;
        NSLog(@"%li",strongPerson.age);//打印的值為幾
    };
    person = [[SCPerson alloc]init];
    person.age = 40;
    block();
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 如果你在不經意間推開歷史的門,走進去,停步于三百多年前,你會驀然間看到兩個身影,孤寂而清俊,冷落而優雅,他們就像是...
    些個明月清風閱讀 645評論 0 0
  • 想一個人沒有邊際, 也不知道他在哪里? 三月用雨叫醒了干枝, 紅梅沾染著新的淚水, 高樓即將把天空割去, 小溪蕩漾...
    舒嚴閱讀 145評論 0 0
  • 今天還能寫,說實話我都要佩服我自己了。困,累,是今天唯一的兩個感官,而這才只是剛剛開始。 上課什么的我就不說了,有...
    歐尼白小溪閱讀 267評論 0 0