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) } }