UI进阶之彩票项目

第一课

1.runtime机制


#import 
    unsigned int outCount = 0;
    
   Ivar *ivars =  class_copyIvarList([UIGestureRecognizer class], &outCount);
    for (int i = 0; i

2.initialize

// 什么时候调用 当第一次初始这个类的时候调用,如果当这个类有子类会调用多次
// 作用 初始化这个类
 if (self == [XMGNavigationViewController class]) {
 }

3.block的循环引用


    // block 防止循环应用
    // 你拥有我,我有用你
    // block 会对代码块里面的强制针强引用
    
//    __strong
//    __weak XMGSettingTableViewController *weakSelf = self;
    
    // typeof(x) 动态根据x判断x的真实类型
    
//    int a = 10;
//    typeof(1) b = 10;
//    
//    NSLog(@"a %d b %d",a, b);
    
    __weak typeof(self) weakSelf = self;
    
    item11.operationBlock = ^{
//        UIViewController *vc = [[UIViewController alloc] init];
//        vc.title = @"dadfafd";
//        vc.view.backgroundColor = [UIColor yellowColor];
//        [weakSelf.navigationController pushViewController:vc animated:YES];
        
        // self -> _gruops
        // 在block中如果访问下划线的成员属性,会造成循环应用
        NSLog(@"%@",weakSelf.groups);
        
    };

你可能感兴趣的:(UI进阶之彩票项目)