美文网首页
Swift经典面试题总结

Swift经典面试题总结

作者: 常绿箩 | 来源:发表于2016-08-21 19:58 被阅读523次

    "在swift中什么时候用结构体,什么时候用类?

    1、到底是用类的做法优于用结构体,还是用结构体的做法优于类。函数式编程倾向于值类型,面向对象编程更喜欢类。

    2、类和结构体有许多不同的特性

    -类支持继承、结构体不支持

    -类是引用类型、结构体是值类型

    3、在运行时,结构体的在性能方面更优于类,原因是结构体的方法调用是静态绑定,而类的方法调用是动态实现的。这就是尽可能得使用结构体代替类的又一个好的原因。

    4、并没有通用的规则决定结构体和类哪一个更好用。一般的建议是使用最小的工具来完成你的目标,但是有一个好的经验是多使用结构体,除非你用了继承和引用语义。

    "什么是泛型?泛型用来解决什么问题

    1、泛型是用来使类型和算法安全的工作的一种类型。在swift中,函数和数据结构中都可以使用泛型,例如类、结构体和枚举

    2、泛型一般是用来解决代码复用的问题。

    "对一个optional变量拆包有多少种方法?并在安全方面进行评价。

    1、强制拆包 !操作符——不安全

    2、隐式拆包变量声明——大多数情况下不安全

    3、可选绑定——安全

    4、自判断链接(optional chaining)——安全

    5、nil coalescing 运算符(空值合并运算符)——安全

    6、Swift 2.0 的新特性 guard 语句——安全

    7、Swift 2.0 的新特性optional pattern(可选模式)

    "下面的功能特性都包含在Swift中吗?

    1、泛型类

    2、泛型结构体

    3、泛型协议

    答案: Swift 包含1和2特性。泛型可以在类、结构体、枚举、全局函数或者方法中使用。

    3是通过typealias部分实现的。typealias不是一个泛型类型,它只是一个占位符的名字。它通常是作为关联类型被引用,只有协议被一个类型引用的时候它才被定义。

    "引用类型和值类型

    引用类型如类,引用的是地址,有可能a和b都变

    值类型,复制的是值,一个值得改变不会影响另一个

    相关文章

      网友评论

          本文标题:Swift经典面试题总结

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