UI进阶之彩票项目

第一课

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);
        
    };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,814评论 0 9
  • 摘自: http://www.cocoachina.com/ios/20150825/13195.html 25...
    program袁阅读 1,480评论 0 1
  • 本文主要对书中每个章节的要点进行梳理. 第1章.熟悉Objective - C 第1条.了解Objective-C...
    o惜乐o阅读 609评论 0 3
  • 先把自己养好 爱情是锦上添花 而不是雪中送炭
    why_4f98阅读 177评论 0 0
  • 身处热闹非凡的聚餐氛围中,却猛的有种抱紧自己冲动,由心底泛出一丝悲凉。曾经是无话不说的朋友,现在竟无话可说...
    指间沙_bb6a阅读 230评论 0 1