美文网首页
iOS难点顿悟

iOS难点顿悟

作者: SmoothV | 来源:发表于2018-08-05 23:11 被阅读12次
    1.runtime理解

    Objective-C是一门基于C语言的面向对象的动态语言,但是C语言没有面向对象的概念,所以除了编译器外,还就需要runtime机制去动态的创建对象,进行消息的发送和转发

    runtime的使用:

    • 使用Method Swizzling(黑魔法)替换系统的方法:有个需求需要统计一个控制器出现的次数,使用runtime的替换方法改变viewWillAppear系统方法的实现。
    • 使用runtime对属性进行获取与赋值,利用runtime可以自己写一个Json解析的三方库
    • JSPatch利用的也是runtime机制,使js就可以调用OC的原生库。
    2.UITableView的优化

    • Cell的重用
    • 尽量不要在Cell里面做动画,因为动画相对来说还是比较耗时
    • 避免Cell里面View及其子类View的背景色为透明,应为透明色在绘制的时候会比正常色多绘制一遍。
    • 如果Cell是不等高的cell,最好可以缓存Cell的高度。
    3.RunLoop

    理解:

    runtime负责创建对象,消息的发送与转发, runLoop有点类似于伴随整个应用运行过程中的主线程,负责事件驱动,当有消息的时候,立刻被唤醒处理消息,当没有消息的时候,暂时挂起休息,减少资源的消耗。

    4.蓝牙
    蓝牙技术步骤.png

    相关文章

      网友评论

          本文标题:iOS难点顿悟

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