问题一:对 Swift 中的泛型(Generic)是怎么理解的?它解决了什么问题?
答:泛型可以支持你编写适用于多种类型的函数或者类型。比如系统的 Array、DIctionary 都是通过泛型来支持多种类型。
![b84d7a5d4de5175ab8dd9024f6420838.png](https://img-blog.csdnimg.cn/img_convert/b84d7a5d4de5175ab8dd9024f6420838.png)
Array 通过泛型支持多种类型
解决问题:减少重复代码,试想若没有泛型,参数是 Int 类型,写一个 Int 类型的交换方法,参数是 String 类型,则又得写一个 String 类型的交换方法,而两个方法除了类型不同其他都是相同的。
![9203dedf1f91e806c92499308a02dee1.png](https://img-blog.csdnimg.cn/img_convert/9203dedf1f91e806c92499308a02dee1.png)
通过将参数定义为泛型,来减少重复代码
问题二:可选类型(Optional)的底层实现是什么?它解决了什么问题?
答:可选类型的底层是通过枚举而来实现的。