6.Optional Pattern
}
case
let
x? =
if
let
x =
print
(x)
}
此三句输出结果相同,均为"42\n”,若将42改为nil,三个print均不会触发。
let
arrayOfOptionalInts: [
Int
?] = [
nil
,
2
,216)"> 3
,
nil
,216)"> 5
]
for
let
number?
in
arrayOfOptionalInts
{
print (number)
print (number)
}
for
number
print
(number)
}
7.repeat-while
在Swift2.0中,do-while 被改为repeat-while,do现在大概只出现在Error handling 的do catch 之中了。
8.Type Properties
实例变量归属于实例,每次增添一个类型的实例就需要对实例变量重新赋值。
你也可以设置类型变量,这样所有的实例都会拥有该变量。
struct
someStructure {
static var storedTypeProperty = "Some value"
var computedTypeProperty: Int {
return 1
}
}
enum someEnumeration {
6
}
}
class SomeClass {
27
}
class var overrideableComputedTypeProperty: 107
}
static var storedTypeProperty = "Some value"
var computedTypeProperty: Int {
return 1
}
}
enum someEnumeration {
6
}
}
class SomeClass {
27
}
class var overrideableComputedTypeProperty: 107
}
}
9.Break Statement
名字可加在if Switch while等关键字的前面并用冒号分隔开。
10.Declaration Attributes
available:
* 作为参数可以表示所有平台,加在最后可表示剩余的所有平台。
unavailable 作为参数可表示在特定的平台或者系统版本下不适用。
introduced 参数表示该方法在某特定平台是在哪个系统版本起开始可用的。
deprecated 参数表示该方法在第几个系统版本后不再被推荐使用。
obsoleted 参数表示该方法在第几个系统版本后被彻底废除。
renamed 参数用来表示某些方法的名字已被改变
warn_unused_result
比如,Swift标准库里面提供mutating 方法SortInPlace() 和 non mutating方法 sort() 如果你调用sort() 但却并没有用到它的结果,编译器就会猜测你想用的是SortInPlace()。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。