的一些新特性【澳门新萄京】

Apple终于发布了Xcode 8.3以及Swift 3.1。如果你没时间仔细通读一遍release
note,至少,Swift
3.1中的一些新特性还是值得了解的,为此,我们特别制作了一个免费的内容系列。当然,Swift
3.1和Swift 3在源代码级别是兼容的,因此,如果你的项目已经更新到了Swift
3,这次更新应该不会给你带来太多麻烦。但是,Xcode 8.3去掉了对Swift
2.3的支持,所以,如果你还停留在更早版本的Swift上,就还是谨慎更新的为好。

Apple终于发布了Xcode 8.3以及Swift 3.1。如果你没时间仔细通读一遍release
note,至少,Swift
3.1中的一些新特性还是值得了解的,为此,我们特别制作了一个免费的内容系列。当然,Swift
3.1和Swift 3在源代码级别是兼容的,因此,如果你的项目已经更新到了Swift
3,这次更新应该不会给你带来太多麻烦。但是,Xcode 8.3去掉了对Swift
2.3的支持,所以,如果你还停留在更早版本的Swift上,就还是谨慎更新的为好。

接下来,我们就简单介绍下这个系列里的内容。

接下来,我们就简单介绍下这个系列里的内容。

SE-0080 数值类型的failable initialize

这是SE-0080带来的改进。例如,之前,当我们把一个Double强制转换成Int的时候,Swift会自动取消小数点后的部分。当我们需要在不同的数字类型之间执行“无损”的精度转换时,这个功能就非常有用,当转型会导致精度丢失的时候,init(exactly:)方法会给我们返回nil。我们通过一个最常见的场景:解析服务器返回的JSON,向大家展示了这个功能的具体用法。

SE-0080 数值类型的failable initialize

这是SE-0080带来的改进。例如,之前,当我们把一个Double强制转换成Int的时候,Swift会自动取消小数点后的部分。当我们需要在不同的数字类型之间执行“无损”的精度转换时,这个功能就非常有用,当转型会导致精度丢失的时候,init(exactly:)方法会给我们返回nil。我们通过一个最常见的场景:解析服务器返回的JSON,向大家展示了这个功能的具体用法。

SE-0045 Sequence中新添加的两个筛选元素的方法

prefix(while:)drop(while:)是Swift
3.1中新加入到Sequence类型的两个API方法,通过它们,可以帮助我们更有效的编写在Sequence中筛选元素的方法。特别是,如果我们要在一个无限序列中筛选元素,它们就显得更方便了。

SE-0045 Sequence中新添加的两个筛选元素的方法

prefix(while:)drop(while:)是Swift
3.1中新加入到Sequence类型的两个API方法,通过它们,可以帮助我们更有效的编写在Sequence中筛选元素的方法。特别是,如果我们要在一个无限序列中筛选元素,它们就显得更方便了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注