|
|
Xcode 6 GM、6.1齐出,Swift终迎1.0版! |
|
作者 唐小引 火龙果软件 发布于 2014-9-12 |
|
|
在诚可贵的iPhone6和价更高的Plus身陷吐槽谩骂褒扬声声齐飞中,iOS 8、Xcode 6 GM版同时发布,还有专门面向Yosemite的Xcode 6.1 Beta,而几经改进的Swift语言也迎来了1.0 GM版,用Swift编写的App终于可以提交啦!
在轰轰烈烈引得一阵口诛笔伐的新品发布会结束之后,苹果在其开发者网站上同时放出了Golden Master(GM)版的iOS 8系统、Xcode 6以及Apple TV新固件,还有专门面向OS X Yosemite的Xcode 6.1 Beta,而几经改进的Swift语言也迎来了1.0版本,从今天开始,开发者们可以终于递交iOS 8的应用了!
相比之下,Yosemite、Xcode、Swift皆是更新频繁,而iOS 8在悄然面向苹果的合作运营商发布Beta 6之后,便直接跳到了GM版本,最主要的原因还是iOS 8在设计与开发工作方面已近尾声,而苹果在发布会上亦宣布,将于9月17日发布iOS 8正式版。
再来看看Xcode,从Release Notes可以看出,苹果忙于发布新产品,对于Xcode和Swift的改进显然并不周全,但仍然存在许多颇值得开发者期待的改动,而最让人惊艳的莫过于:启动界面支持XIB和Storyboard,基于这项功能,开发者在开发应用时就能够为启动界面设计一套布局,便可适配各种机型,不过目前仅支持iOS 8,而iOS 8以下的版本仍然沿用传统的AssetCatalog。
现在,开发者也可以直接在构造器中返回nil表示构造失败。一个表示失败的构造器可以通过init?来声明,它可以返回一个显式的可选类型或隐式解封的可选类型。但要注意对于枚举和结构体来说随时都可以返回nil,而对类则不一样,只有当所有的存储属性被初始化后或者其self.init和super.init被调用后才可以返回nil,当前调用代码就可以收到nil,来判断构造是否成功:
此外,Fundation、UIKit、CoreData、SceneKit、SpriteKit、Metal API中的接口也进行了可选类型的适配性检查,移除了很大一部分隐式解封的接口,这个将有助于增强方法中参数与返回值是否为空的判断意义,更加安全稳定。此次改动也包括通过值是否为空来将T!换成T或T?,如果发生错误,就需告知苹果,并在内容栏打上“#IUO”的tag。而如果遇到属性或方法无法正确地判断是否为空时,开发者可以把返回值封装成一个可选类型,这样就能通过nil判断来检测。
最后,再来说一下Swift 1.0 GM版,苹果在其官方博客上宣布了这一重大消息,并表示,现在开发者可以将使用Swift语言编写的应用程序提交至App Store,不管是全部使用Swift,还是仅部分功能使用Swift编写,都可以将其与来自全球的开发者和用户进行分享。
而除了iOS之外,Mac开发者也同样可以使用Swift GM,以配合Xcode 6.1 Beta开发Mac App。当然,Swift GM并不是最终版本,目前,Swift还不算稳定,诸如AnyObject等的Bug仍未得到修复,而苹果开发团队未来还将继续对其进行优化,添加其他更高级的功能、提升性能并精简语法。
|
|
|