美文网首页
UI进阶之彩票项目

UI进阶之彩票项目

作者: 恒筠 | 来源:发表于2018-03-05 10:52 被阅读0次

    第一课

    1.runtime机制

    
    #import <objc/runtime.h>
        unsigned int outCount = 0;
        
       Ivar *ivars =  class_copyIvarList([UIGestureRecognizer class], &outCount);
        for (int i = 0; i<outCount; i++) {
    //        ivars[i];
            // 获取成员属性的名字
         NSString *name = @(ivar_getName(ivars[i]));
            NSLog(@"%@",name);
            
        }
    

    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进阶之彩票项目

          本文链接:https://www.haomeiwen.com/subject/kwhxfftx.html