swift中变量的几种类型
swift中变量分为 optional,non-optional 以及 implicitly unwrapped optional 这几种类型
var nullableProperty : AnyObject? // optional
var nonNullProperty : AnyObject // non-optional
var unannotatedProperty : AnyObject! // implicitly unwrapped optional
其中,optional (如AnyObject?)的值可以含有nil值,而(AnyObject!)是不能含有nil值的,强行展开而没有值时会崩溃;(AnyObject)必须提前赋值才能够使用,而且,强行展开后没有值也会崩溃
以下是几种变量与OC变量之间的对应关系
附带源码
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var nullableProperty : AnyObject? // optional
var nonNullProperty : AnyObject // non-optional
var unannotatedProperty : AnyObject! // implicitly unwrapped optional
nullableProperty = UIColor.redColor()
nonNullProperty = UIColor.redColor()
unannotatedProperty = UIColor.redColor()
print(nullableProperty)
print(nonNullProperty)
print(unannotatedProperty)
}
}