iOS面试

iOS block 面试题

2018-12-12  本文已影响164人  Double丶K

下面请听题

第一题: test会打印什么?因为啥?

typedef void(^TestBlock)(void);
NSString *test = @"test1111";
    
    TestBlock b2 = ^(void){
        NSLog(@"%@",test);
    };
    test = @"test2222";
    b2();
原因:

第二题: label会显示什么字样?

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 300, 300, 40)];
    
    label.text = @"block作用域外赋值++++";
    
    void (^backValue)(NSString *) = ^(NSString *str) {
        
        label.text = str;
        
    };
    
    backValue(@"block作用域内赋值------");
    
    [self.view addSubview:label];
原因:
label = [[UILabel alloc] init];
上一篇 下一篇

猜你喜欢

热点阅读