加载中 ...
首页 > 新闻资讯 > 软件定制 正文

Xcode 8.0 Beta发布,详解Swift语言的重大变化

2019-03-25 10:23:49 来源:沈阳软件公司 作者:沈阳软件开发

  每年的WWDC都是全球苹果开发者的一次大狂欢,今年的WWDC也一样,不过狂欢的主题之一则是:Xcode 8.0 Beta的发布和Swift 3. 0的引入。到底带来了那些变化和惊喜呢?笔者给你细细道来。

  Xcode 8.0 Beta发布,详解Swift语言的重大变化

  一、安装环境的变化

  

  Xcode 8.0 Beta需要macOS 10.11.4或者更新的系统。请注意苹果的系统名称 “Mac OS X”正式更改为“macOS”, 这样的命名更加简洁,而且和整个苹果家族的系统名称保持一致。

  

  Xcode 8.0 Beta中包含了最新的iOS 10.0、watchOS 3.0、macOS 10.12以及tvOS 10.0,如果小伙伴们想看具体的变化以及每个系统的细节可以在Xcode中:点击【帮助>What’s New in Xcode】菜单项,或者直接登陆Apple Developer查看。

  

  有个小细节需要注意:Xcode 8可以和以前的Xcode版本共存。Xcode 8.0 Beta属于预发布版本,购买了开发者ID的小伙伴可以通过Apple Developer网站下载,这是一个打包为XIP的文件。对于还处于Beta阶段的Xcode,小伙伴们可以直接从官网下载然后解压这个XIP文件,再把里面的Xcode.app文件拖放到Application目录下即可。而对于发布后的版本则需要通过App Store下载。在此,笔者建议大家还是从官方渠道下载安装,慢就慢点,不要从第三方渠道获取,因为大名鼎鼎的 “XcodeGhost” 病毒就是通过非官方的Xcode渠道传播的。

  

  二、Xcode 8.0 Beta的变化

  

  1. 编辑器扩展插件

  

  Xcode 8.0 Beta支持编辑器扩展插件了:应用程序扩展插件会在Xcode编辑器的菜单上增加一个命令项,这些扩展插件可以操作代码编辑器中文本或者文本选区。有了这个接口将会涌现出一大批优秀的扩展插件。我们可以通过macOS Application Extensions中的 “Xcode Source Editor Extensions” target模板来创建我们自己的扩展插件。

  

  2. Interface Builder的变化

  

  Interface Builder对于自动布局特性更加智能,对于一些视图我们不想显式的增加约束时,Interface Builder会自动处理增加自动布局特性。

  

  Storyboard和XIB文件可以在iOS、tvOS和watchOS等不同平台间无缝的缩放。在我们编辑这些界面布局文件时可以按住Option键,然后通过鼠标滚轮任意缩放。

  

  重新修正了Xcode开发的工作流方式,比如对于Size Classes,现在Xcode支持基于一系列真实的设备尺寸进行UI布局设计而不是基于一些抽象的矩形集合。这样的改变让开发者可以方便查看UI布局文件在多设备上的效果,比如方向,以及在iPad的上Slide Over和分割视图的适配情况等。

  

  我们可以按住Control键然后从Interface Builder中向Swift 3的代码文件中拖拽可以创建一个IBAction,注意这时会在增加的Sender参数前增加一个下划线,此举的目的可以使相关的Objective-C选择器能够适配Swift 2的语法行为。因此在Swift 3和Swift 2语法共存的情况下,可以通过增加下划线的方式把@IBAction转换为Swift 3的语法,从而保留当前现有的IBAction链接。小伙伴们这种情况大多会发生在旧代码向Swift 3转换的过程中,所以大家看看即可。风险极大。

  

  Interface Builder中的Canvas会像应用程序运行时一样通过虚景交互方式渲染iOS的视图,包括采用UIVisualEffectView方式的试图以及视图与子视图。这种渲染方式在tvOS上渲染性能大大提高。

  

  Interface Builder支持在tvOS上的Dark Interface Style中自定义UI元素以及通过辅助编辑器进行预览。这个特性在新的XIB和Storyboard文件默认开启。对于现有文件可以在Identity查看器上勾选 “Use Trait Variations” 开启。

  

  Interface Builder现在支持Display P3颜色空间的颜色了。可以在系统颜色面板选择RGB或者HSB滑块,然后点击在弹出面板的列表中选择 “Display P3” 开启。

  

  在Interface Builder的布局文件中的颜色值在渲染阶段和编译阶段会使用正确颜色空间了。以前的Xcode版本在iOS和tvOS布局文件中的颜色空间处理方面存在错误。现在Xcode 8.0会根绝终端设备的特性进行正确的适配。

  

  3. Playground的变化

  

  在Xcode中使用macOS target的Playground现在支持来自于Swift.org的开源的Swift toolchains。使用iOS或者tvOS的Playground则需要Xcode 8.0的toolchain。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。