https://github.com/YouXianMing

swift中变量的几种类型

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

 

posted @ 2015-09-23 23:00  YouXianMing  阅读(657)  评论(0编辑  收藏  举报