美文网首页
一些标记还未来得及整理的问题

一些标记还未来得及整理的问题

作者: 不会游泳De鱼 | 来源:发表于2016-09-06 00:33 被阅读30次

    1、编译器编译原理
    2、xcode 的 Other linker flags
    3、OC的消息转发机制
    4、tcp/ip 和UDP区别
    5、http和https
    6、动态库和静态库的区别
    7、线程锁、死锁
    8、线程间怎么通信?
    9、以下两种写法有什么区别?

    if(x){
      return 1;
    }else{
      return 2;
    }
    
    if(!x){
      return 2;
    }else{
      return 1;
    }
    

    10、oc证书、配置文件都包括哪些内容?怎么来匹配的?如果配置文件是auto,又是怎么匹配的?
    11、一个并发队列,1000个任务,顺序执行。怎么做才能顺序的完成?
    12、一个子线程A,执行完毕后,得到结果a,A不结束,然后返回主线程用a更新B,然后再回到A使用a执行C。怎么做?runloop GCD source?
    13、CF相关类
    14、NSTimer、GCD timer、CADisplayLink
    15、针对封装的时候,对一个集合操作,怎么来控制数据的安全性(读写时,barrier、锁、串行和并行?)
    16、对数组进行copy,怎么样让数组内的对象也进行copy?
    17、使用block的限制问题,循环引用问题,具体场景。block内使用函数内变量,除了_ _block以外还有什么办法?__block int a,这时候 a有什么变化,a的数据类型,数据结构,数据地址等。

    对block使用clang编译.png

    18、int a = 2; a=3;这是怎么样对内存修改的,为什么在block里面不可以修改。
    19、所有的block里面所有的对象都要用__weak吗?什么时候不用,block内部对象使用__strong的原因,block内部创建的对象,直接使用__weak会怎么样?
    20、怎么测试一个对象是否已经被释放了?
    21、数据库索引。
    22、delegate的属性是什么?如果使用strong会出现什么问题,weak和assgin有什么区别。怎么验证?
    23、oc对象的声明周期,dealloc什么时候调用。oc对象什么被释放,对象调用release时是否会立即释放。arc下内存的引用计数为0时,内存是否是立即释放。
    24、release的实现
    25、arc下如何强制释放对象。CFRelease、free
    26、_obj和self.obj的区别,访问机制,懒加载

    一个历史遗留的传统,以前必须先声明一个类成员变量,后来推出了点语法,就必须实现setter和getter方法,后来出现了@property自动生成setter和getter的声明,@synthesize生成setter和getter的具体内容,再后来做了简化,直接一个@property帮你全搞定了
    @synthesize合成访问器
    实现property所声明的方法的定义。其实说直白就像是:property声明了一些成员变量的访问方法,synthesize则定义了由property声明的方法。 他们之前的对应关系是:property 声明方法 ->头文件中申明getter和setter方法 synthesize定义方法 -> m文件中实现getter和setter方法。 在Xcode4.5及以后的版本中,可以省略@synthesize,编译器会自动帮你加上get 和 set 方法的实现,并且默认会去访问_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age的私有成员变量。在.m文件中同时实现getter和setter时候需要@synthesize age = _age.

    使用self.obj是对属性的访问。使用_obj是对局部变量的访问。

    27、《Objective-C高级编程》
    28、OC中obj和&obj的区别
    29、IMP直接调用的函数,函数里面调用self.属性都会creash,为什么?

    {
        SEL sel = NSSelectorFromString(@"nodeManager");
        IMP imp = [self methodForSelector:sel];
        imp();
    }
    - (void)nodeManager{
        NodeListViewController *node = [[NodeListViewController alloc] init];
        //self.navigationController会崩溃,一切self.属性都会出现问题
        [self.navigationController pushViewController:node animated:YES];
    
    }
    

    相关文章

      网友评论

          本文标题:一些标记还未来得及整理的问题

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