1.3 Swift 版本历史记录
本页内容包括:
XCode6 Beta5 Swift语法文档更新
XCode6 Beta4 Swift语法文档更新
XCode6 Beta3 Swift语法文档更新
XCode6 Beta2 Swift语法文档更新
XCode6 Beta1 Swift语法文档更新
XCode6下载:老码云盘下载
以下部分是针对XCode6每一次Beta版本直至正式版发布,Swift语法部分的更新归类
XCode6 Beta5中Swift语法更新可选类型(Optionals)若有值时,不再隐式的转换为true
,同样,若无值时,也不再隐式的转换为false
, 这是为了避免在判别 optionalBool
的值时产生困惑。 替代的方案是,用==
或!=
运算符显式地去判断Optinal是否是nil
,以确认其是否包含值。
Swift新增了一个Nil合并运算符(Nil Coalescing Operator)(a ?? b
), 该表达式中,如果Optionala
的值存在,则取得它并返回,若Optionala
为nil
,则返回默认值b
更新和扩展字符串的比较(Comparing Strings)章节,用以反映和展示'字符串和字符的比较',以及'前缀(prefix)/后缀(postfix)比较'都开始基于扩展字符集(extended grapheme clusters)规范的等价比较.
现在,你可以通过可选链(Optional Chaining)来:给属性设值,将其赋给一个下标脚注(subscript); 或调用一个变异(mutating)方法或运算符。对此,章节——通过可选链访问属性(Accessing Properties Through Optional Chaining)的内容已经被相应的更新。而章节——通过可选链调用方法(Calling Methods Through Optional Chaining中,关于检查方法调用是否成功的例子,已被扩展为展示如何检查一个属性是否被设值成功。
在章节可选链中,增加一个新的小节访问可选类型的下标脚注(Accessing Subscripts of Optional Type)
更新章节访问和修改数组(Accessing and Modifying an Array)以标示:从该版本起,不能再通过+=
运算符给一个数组添加一个新的项。. 对应的替代方案是, 使append
方法, 或者通过+=
运算符来添加一个只有一个项的数组(single-item Array).
添加了一个提示:在范围运算符(Range Operators)中,比如,a...b
和a..<b
,起始值a
不能大于结束值b
.
重写了继承(Inheritance)这一章:删除了本章中关于构造器重写的介绍性报道;转而将更多的注意力放到新增的部分——子类的新功能,以及如何通过重写(overrides)修改已有的功能。另外,小节重写属性的Getters和Setters(Overriding Property Getters and Setters)中的例子已经被替换为展示如何重写一个description
属性. (而关于如何在子类的构造器中修改继承属性的默认值的例子,已经被移到构造过程(Initialization)这一章.)
更新了构造器的继承与重写(Initializer Inheritance and Overriding)小节以标示: 重写一个特定的构造器必须使用override
修改器.
更新Required构造器(Required Initializers)小节以标示:required
修改器现在需要出现在所有子类的required构造器的声明中, 而required构造器的实现,现在可以仅从父类自动继承。
中置(Infix)的运算符函数(Operator Functions)不再需要@infix
属性.
前置和后置运算符(Prefix and Postfix Operators)的@prefix
和@postfix
属性,已变更为prefix
和postfix
声明修改器(declaration modifiers).
增加一条注解:当Prefix和postfix运算符被作用于同一个操作数时,关于前置和后置运算符(Prefix and Postfix Operators)的顺序(postfix运算符会先被执行)
在运算符函数(Operator functions)中,组合赋值运算符(Compound Assignment Operators)不再使用@assignment
属性来定义函数.
在这个版本中,在定义自定义操作符(Custom Operators)时,修改器(Modifiers)的出现顺序发生变化。比如, 现在,你该编写prefix operator
, 而不是operator prefix
.
增加信息:关于dynamic
声明修改器(declaration modifier),于章节声明修改器(Declaration Modifiers).
增加信息:字面量Literals的类型推导(type inference)
为章节Curried Functions添加了更多的信息.
#### XCode6 Beta4中Swift语法更新
加入新的章节 <a href=https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html#//apple_ref/doc/uid/TP40014097-CH41-XID_29">权限控制(AccessControl).
更新了章节字符串和字符(Strings and Characters)用以表明,在Swift中,Character
类型现在代表的是扩展字符集(extended grapheme cluster)中的一个Unicode,为此,新增了小节Extended Grapheme Clusters。同时,为小节Unicode标量(Unicode Scalars)和字符串比较(Comparing Strings)增加了更多内容.
更新章节字符串字面量(String Literals):在一个字符串中,Unicode标量(Unicode scalars) 以\u{n}
的形式来表示,n
是一个最大可以有8位的16进制数(hexadecimal digits)
NSString
length
属性已被映射到Swift的内建String
类型。(注意,这两属性的类型是utf16Count="red">
,而非utf16count
).
Swift的内建String
类型不再拥有uppercaseString
和lowercaseString
属性.其对应部分在章节字符串和字符(Strings and Characters)已经被删除, 并且各种对应的代码用例也已被更新.
加入新的章节没有外部名的构造器参数(Initializer Parameters Without External Names).
加入新的章节Required构造器(Required Initializers).
加入新的章节可选元祖(函数)返回类型 (Optional Tuple Return Types).
更新章节类型标注(Type Annotations):多个相关变量可以用“类型标注”(type annotaion)在同一行中声明为同一类型。
@optional
,@lazy
,@final
,@required
等关键字被更新为optional
,lazy
,final
,required
参见声明修改器(Declaration Modifiers).
更新整本书 —— 引用..<
作为区间运算符(Half-Open Range Operator)(取代原先的..
).
更新了小节读取和修改字典(Accessing and Modifying a Dictionary):Dictionary
现在早呢更加了一个 Boolean型的属性:isEmpty
解释了哪些字符(集)可被用来定义自定义操作符 (Custom Operators)
nil
和布尔运算中的true
和false
现在被定义为字面量Literals.
#### XCode6 Beta3中Swift语法更新
Swift 中的数组 (Array
) 类型从现在起具备了完整的值语义。具体信息被更新到集合的可变性(Mutability of Collections)和数组(Arrays)两小节,以反映这个新的变化. 此外,还解释了如何给Strings, Arrays和Dictionaries进行赋值和拷贝 (Assignment and Copy Behavior for Strings, Arrays, and Dictionaries).
数组类型速记语法(Array Type Shorthand Syntax)从SomeType[]
.更新为[SomeType]
加入新的小节:字典类型的速记语法(Dictionary Type Shorthand Syntax).:[KeyType: ValueType]
.
加入新的小节:字典键类型的哈希值(Hash Values for Dictionary Key Types).
例子闭包表达式 (Closure Expressions)中使用新的全局函数sorted
取代原先的全局函数sort
去展示如何返回一个全新的数组.
更新关于结构体逐一成员构造器 (Memberwise Initializers for Structure Types)的描述:即使结构体的成员没有默认值,逐一成员构造器也可以自动获得。
区间运算符(Half-Open Range Operator)由..
更新到..<
添加一个例子扩展一个泛型(Extending a Generic Type)
#### XCode6 Beta2中Swift语法更新
发布新的文档用以详述Swift - 苹果公司针对iOS和OS X应用的全新开发语言
#### XCode6 Beta1中Swift语法更新
苹果全球开发者大会WWDC2014召开,发布了苹果最新的开发语言Swift,并释放出XCode6 Beta1版本
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。