美文网首页Swift学习iOS知识体系总结
iOS知识体系总结-Swif底层本质

iOS知识体系总结-Swif底层本质

作者: Hinsverson | 来源:发表于2019-08-09 15:01 被阅读0次

    注意:更新内容会同步到GitHub iOSWiki-知识体系总结

    总结-Swif底层本质

    Swift/本质 #iOS体系总结

    语法扫盲

    About Swift — The Swift Programming Language (Swift 5.1)
    Swift 教程 - SwiftGG

    一些关键字区别整理
    Self和self的区别?.self的理解?
    .type和type(of: AnyObject)的区别和理解?
    AnyObject、Anyclass、Any的区别和理解?
    isKind、is、isMenber的区别和理解?
    rethrow的理解?
    open、public、internal、fileprivate、 private的理解?

    探究本质

    Swift各种属性的本质
    Swift里let和var的理解?
    Swift里计算型属性的本质是什么?占多少个字节?是存储在当前对象里的吗?可以用let修饰吗?
    枚举的原始值的本质是什么?占几个字节?它在内存中是存储在枚举里吗?
    lazy属性可以用let修饰吗?lazy属性是线程安全的吗?
    观察型属性在初始化的时候会触发吗?定义的时候给定默认值会触发吗?
    Swift里inout修饰的函数参数本质是什么?
    inout的参数能传递计算属性吗?传递计算属性的底层原理是什么?
    inout参数传递观察型属性会触发观察的willset和didset方法吗?底层原理又是什么?为什么这样设计?
    枚举可以定义存储属性吗?枚举可以定义类型存储属性吗?
    类型存储属性和lazy一样是延迟加载吗?如果一样那他时线程安全的吗?为什么?

    String、Araay、Option本质
    Swift一个String类型占多少个字节?String类型变量的字面量在内存中是怎样存储的?字面量长度小于16个字节是怎样存储的?大于16个字节又是怎样存储的?
    如何计算一个Swift数组在内存中的大小?数组存储在栈空间还是堆空间?
    Swift可选类型的本质?

    Swift闭包的本质
    Swift闭表的理解?本质是什么?闭包表达式和闭包是什么关系?
    Swift闭包值捕获的原理是什么?捕获到的值存储在哪里?捕获多个值时它们在内存中是连续存储的吗?一个捕获到int值的闭包在内存中占几个字节?
    DispatchQueue.async闭包体内为什么要强制加self.访问成员变量?说一下你对逃逸闭包的理解?
    Swift里的??运算符的作用?本质是什么?

    Swift多态原理 Swift 方法派发
    Swift里是怎样实现多态的?Swift支持哪些方法派发方式?内部机制又是怎样的?引用类型、值类型、协议的方法派发有什么不同?为什么官方建议使用结构体+协议的组合而不使用class类型?

    Swift里的指针
    Swift里有那几种类型的指针?有什么区别?

    特性和优化

    函数和协议编程 Swift反射机制 Swift性能优化
    大概描述一下Swift的编译流程?Swift和OC的区别?
    面向协议编程的理解?对函数式编程的理解?map和flatMap的区别?filter、reduce的理解?
    对Swift里反射机制的理解?
    如何优化Swift性能?

    其他常见问题

    Swift 常见问题

    相关文章

      网友评论

        本文标题:iOS知识体系总结-Swif底层本质

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