当前位置: 首页 > 科技观察

Swift4.0正式发布加入归档、序列化等功能

时间:2023-03-12 04:29:16 科技观察

近日,编程语言Swift4.0正式发布,其易学易用的特性深受开发者的喜爱。Swift的设计考虑到了安全性,以避免各种常见的编程错误。Swift4在Swift3的基础上提供了更强的健壮性和稳定性,提供了对Swift3的源代码兼容性,改进了标准库,增加了归档和序列化等功能。有关更详细的功能概述,请观看WWDC2017:Swift的新功能或完整的发行说明1.语言更新StringSwift4包含一个更快、更易于使用的字符串实现,它保留了Unicode的正确性并增加了对创建的支持,使用和管理子字符串。详细信息:SE-0163字符串修订:集合一致性、C互操作、代码转换SE-0168多行字符串文字SE-0178向字符添加unicodeScalars属性SE-0180字符串索引大修SE-0182字符串换行符转义SE-0183子字符串性能集合可供性Swift4改进了集合类型的创建、使用和管理。详细信息:SE-0148通用下标SE-0154为字典键和值提供自定义集合SE-0165字典和集合增强SE-0172单边范围SE-0173AddMutableCollection.swapAt(_:_:)归档和序列化Swift4支持结构化和枚举类型的归档,可以对JSON和plist等外部格式进行类型安全序列化。详细信息:SE-0166Swift存档和序列化其他SE-0104面向协议的整数SE-0142允许where子句约束关联类型SE-0156类和子类型存在SE-0160限制@objc推理SE-0164删除sionfinal以支持扩展inproSE-0169改进私有声明和扩展之间的交互??SE-0170NSNumber桥接和数字类型SE-0171ReducewithinoutSE-0176强制独占访问内存SE-0179Swiftrun命令2.新兼容模式发布后Swift4,您可能无需更改代码即可使用较新版本的编译器。编译器支持两种语言模式:Swift3.2:在此模式下,编译器将接受大多数使用Swift3.x编译器构建的源代码。为了提供这种级别的源兼容性,对预先存在的API(作为标准库的一部分或Apple提供的API)的更新将不会出现在这种模式下。Swift4中的大部分新语言特性都是以这种语言模式提供的。Swift4.0:此模式包括所有Swift4.0语言和API更改,部分项目可能需要源码迁移。语言模式由-swift-version指定给编译器,并由Swift包管理器和Xcode自动处理。详情:迁移到Swift43.PackageManager升级Swift4为SwiftPackageManager引入了新的工作流特性和更完整的API:在Tag你的第一个正式版本之前,你可以轻松地开发多个包,或者在多个包的分支上协同工作。可选择控制向用户发布哪些包。新的包API允许包指定一些新设置,让作者更好地控制包的构建方式以及源在磁盘上的组织方式。总的来说,用于创建包的API现在更简洁了,同时保留了与旧包的源代码兼容性。在macOS上,Swift包构建现在发生在一个沙箱中,可以防止网络访问和文件系统修改,有助于减轻恶意程序的影响。详细信息:SE-0146包管理器产品定义SE-0149包管理器支持树顶开发SE-0150包管理器支持分支SE-0158包管理器清单API重新设计SE-0162包管理器自定义目标布局SE-0175包管理器已修订DependencyResolutionSE-0179SwiftrunCommandSE-0181PackageManagerC/C++LanguageStandardSupport4.相关地址文档Swift4.0相关文档已经在官网更新,也可以在苹果的iBooks商店免费下载。下载https://swift.org/download/