博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift 4.2正式发布
阅读量:6096 次
发布时间:2019-06-20

本文共 1150 字,大约阅读时间需要 3 分钟。

在Swift 4发布了一年之后,Swift 4.2版本也。这一版本带来了语言和标准库方面的改进,包括更好的泛型、Hashable协议以及随机数生成。另外,Swift语言维护者Ted Kremenek写道,Swift 4能提供更快的编译速度,并提升了调试体验。

\\

在语言层面,Swift 4.2完成了从开发工作,它实现了一个规范,即某种类型必须满足某些条件才符合某种协议。例如:

\\
\extension Array: Equatable where Element: Equatable {\  static func ==(lhs: Array\u0026lt;Element\u0026gt;, rhs: Array\u0026lt;Element\u0026gt;) -\u0026gt; Bool { ... }\}\
\\

Swift 4.2添加了在运行时查询类型来获得条件一致性的可能性,而这在Swift 4.1中会发生崩溃,例如:

\\
\\if let array = items as? Equatable { //– safely use == here }\
\\

Swift 4.2另外一个有用的功能是,可以通过.allCases属性迭代所有符合CaseIterable协议的case。

\\

其他的改进包括提供一组新的API用于、,以及类型安全的。

\\

从调试前端来看,Swift编译器现在支持使用#warning和#error指令在代码中标记问题。例如:

\\
\#warning(\"Unsafe operation\")\#error(\"Prodive your credentials here\")\
\\

Kremenek还特别指出编译器性能获得了提升,这要归功于批处理模式编译和改进的运行时性能(因为对retain/release周期的调用发生了变化)。

\\

另外,iOS开发人员Javier Soto在中写道:

\\
\

一年之后,Swift 4.2版本的。除非你想体验随机崩溃的感觉,否则不要在iOS程序中使用Swift KVO语法。

\
\\

具体来说,当主线程尝试注册观察者(例如更新UI元素)的同时,在后台线程运行KVO 方法可能就会触发这个bug。

\\

对于所有受到影响的开发人员,可以使用,它是安全强类型的Swift 4 KVO语法替代品。

\\

Swift 4.2与Swift 4和3代码兼容,并被包括在Xcode 10中。通过可以轻松实现从早先版本的迁移。

\\

,介绍了Swift 4的新特性概览,要了解更多详情,请参考官方公告。是学习Swift 4.2新功能的一个很好的资源。

\\

查看英文原文:  

\\

感谢对本文的审校。

转载地址:http://pnwza.baihongyu.com/

你可能感兴趣的文章
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
P127、面试题20:顺时针打印矩阵
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)
查看>>
SqlServer表名称定义
查看>>
jquery操作select(取值,设置选中)
查看>>
浅谈无线h5开发
查看>>
关于裸婚,没事F5刷豆瓣是不够的!
查看>>
【FJOI2015】金币换位问题
查看>>
HighChar
查看>>
window上安装pymysql
查看>>
控件调用函数
查看>>
activity的启动模式
查看>>