Swift 5从零到精通iOS开发训练营
上QQ阅读APP看书,第一时间看更新

2.7 模拟面试

(1)符号“?”和“!”是Swift工程中非常常见的两个符号,请简述你对它们的理解。

回答要点提示:

①首先从类型和实例两个方面理解,“?”出现在类型后表示Optional类型,出现在实例后表示可选链调用。“!”出现在类型后表示默认隐式解析,出现在实例后表示强制拆包。

②这两个符号都与Swift中的Optional类型相关,Optional类型是Swift语言强调安全性的一种方式,某个变量可不可以为空应该是逻辑上决定的,而不是不可预知、不可控的。

③if-let结构与Optional类型值结合使用可以编写出优雅安全的逻辑代码。

核心理解内容:

对Swift中的Optional类型做深入的理解。

(2)十进制、二进制、八进制、十六进制各有什么优势,在哪些场景下使用。

回答要点提示:

①十进制的优势不必多言,日常生活中几乎所有的数学计算使用的都是十进制,钱币的单位、班级的座次、队伍的排序等都是以十进制表示的。

②二进制是计算机最方便理解的进制方式,高低电平状态非常容易表示二进制的0和1,同时也是计算机运行最稳定的存储数据进制方式。

③八进制和十六进制实际上是二进制的聚合方式,在八进制中,每位数字可以表示二进制中的3位,在十六进制中,每位数字可以表示二进制的4位,大大缩短了二进制数的长度,并且便于阅读。常常使用十六进制来表示颜色数据。

核心理解内容:

进制的原理以及转换方法。

(3)Swift语言中是否只有var和let两种数据类型?

回答要点提示:

①这个命题大错特错,在Swift中,var和let并不是数据类型,只是两种用来声明变量的方式。

②Swift是一种强数据类型,和C、C++、Objective-C、Java等语言一样,变量在声明时其数据类型就已经确定,有时我们没有显式指定,是由于Xcode有自动类型推断功能。

③Swift中的数据类型有基本数据类型和引用数据类型,基本数据类型中又包含整型、浮点型、布尔型、元组等。

核心理解内容:

理解数据类型的意义,理解变量和数据类型之间的关系,明白Xcode的自动类型推断功能。