每天题

作者: 330b92bcaf74 | 来源:发表于2017-08-03 09:54 被阅读0次

    1.沙盒 2017-8-2

    2.cocopods原理 2017-8-3

    3.APP生命周期 2017-8-3

    4.控制器生命周期 2017-8-4

    loadView:加载view
    ViewDidLoad:view加载完毕
    ViewWillAppear:view将要显示
    ViewWillLayoutSubViews:view将要布局子控件
    ViewDidLayoutSubViews:view布局子控件完成
    ViewDidAppear:view完全显示
    ViewWillDisAppear:view即将消失
    ViewDidDisAppear:view完全消失 
    

    5.iOS开发中Debug和Release的区别和使用 2017-8-5

    6.@synthesize 和 @dynamic 分别有什么作用 2017-8-5

    7.这个写法会出什么问题: @property (copy) NSMutableArray *array;2017-8-7

    8.用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?2017-8-7

    分别用这两个属性声明name,展示不同结果

    @property(nonatomic, copy)NSString *name;
        NSMutableString *str = [NSMutableString stringWithString:@"xiaoming"];
        
        Student *stu = [[Student alloc] init];
        stu.name = str;
        NSLog(@"%@", stu.name);
        [str appendString:@"123"];
        NSLog(@"%@", stu.name);
    结果 :
    2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
    2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
    
    @property(nonatomic, strong)NSString *name;
    执行同样代码结果:
    2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming
    2017-08-07 10:49:52.503 APP生命周期哦[20667:11193446] xiaoming123
    总结:
    1.因为父类指针可以指向子类对象,使用 copy 的目的是为了让本对象的属性不受外界影响,使用 copy 无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本.
    
    2.如果我们使用是 strong ,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,那么会影响该属性.
    
    ***没有人生来便懂得一切,你不需要自卑,你只需要更努力。
    ***每个人都要走一条自己坚定了的路,就算是粉身碎骨。
    ***如果再也不能见到你,祝你早安,午安,晚安。
    

    9.分类的作用?分类和继承的区别?2017-8-8

    分类可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改,并且如果分类和原来类中的方法产生名称冲突,则分类将覆盖原来的方法,因为分类具有更高的优先级。
    
    继承可以增加,修改或者删除方法,并且可以增加属性;但是分类只能添加方法,不能删除修改,也不能增加属性。
    

    10.推送的原理 2017-8-9

    http://www.jb51.net/article/84082.htm
    http://www.jianshu.com/p/9ac37c964f2d

    11.子视图超出父视图不响应解决办法 2017-8-9

    http://blog.163.com/micky_and_pupu/blog/static/239485040201551134349826/

    12.深入理解RunLoop 2017-8-10

    https://blog.ibireme.com/2015/05/18/runloop/

    13.堆和栈的区别 2017-8-10

    14.iOS 关键字const/static/extern 2017-8-11

    http://www.jianshu.com/p/7a6885918b67

    15.响应者链条 2017-8-14

    http://www.jianshu.com/p/fe1d766bc406
    http://www.cocoachina.com/ios/20160113/14896.html

    16.谈谈id和instancetype的异同?2017-8-15

    17.静态库和动态库的区别 2017-8-15

    http://www.cnblogs.com/bboymars/p/4980754.html

    18.TCP 和 UDP 的区别 2017-8-16

    19. 断点续传的实现 2017-8-18

    20.Swift重载和重写。2017-8-19

    http://www.jianshu.com/p/5c133b123c74
    

    21.Swift桥接OC文件 2017-8-19

    22.OC中有多继承么。2017-8-21

    没有多继承,用<>来替代
    

    23.取消自动缩进 2017-8-21

    //取消自动缩进 - 如果隐藏了导航栏会缩进 20 个点
    automaticallyAdjustsScrollViewInsets = false
    tabView?.contentInset = UIEdgeInsetsMake(nav.bounds.height,
                                                     0,
                                                     tabBarController?.tabBar.bounds.height ?? 49,
                                                     0)
    

    24.使用纯代码写Autolayout,需先取消Autoresizing

        for v in subviews {
            v.translatesAutoresizingMaskIntoConstraints = false
        }
    

    25.swift计算型属性和懒加载的区别

    使用方法完全一致
    都是用 var 声明
    不同点
    实现原理不同
    懒加载是第一次调用属性时执行闭包进行赋值
    计算型属性是重写 get 方法
    调用 {}的次数不同
    懒加载的闭包只在属性第一次调用时执行
    计算型属性每次调用都要进入 {} 中,return 新的值
    

    相关文章

      网友评论

          本文标题:每天题

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