美文网首页
swift学习之构造函数

swift学习之构造函数

作者: WMSmile | 来源:发表于2016-08-25 17:58 被阅读4次

    定义一个person类来介绍一下构造函数

    import UIKit
    
    class Person: NSObject {
        
    //    如果定义的属性没有初始化,需要在后面添加“?”
    //    如果在构造方法中初始化了,“?”就可以不用添加
        var name:String?
        /*
        在定义基本类型的时候,如果是”基本类型“并且是可选的属性,swift在电泳super.init的时候,不会给它分配内存空间。如果是对象的话,就会分配内存空间。因此要给基础属性赋值,在使用kvc的赋值
        */
    //    var age:Int?
        var age:Int = 0
    
        
    //    重写构造方法
        override init() {
            self.name = ""
            self.age = 0
        }
    //    自定义构造方法
    //    swift 有方法重载的概念 java也有,允许有重名方法名,但是形参和返回值不同就行
        init(name:String,age:Int)
        {
            self.name = name;
            self.age = age;
        }
        
        //    自定义构造方法
        init(dict:[String:NSObject])
        {
            super.init()
            //在使用kvc的时候一定要先把对象初始化
            setValuesForKeysWithDictionary(dict)
        }
        
        
        
    
    }
    
    

    ps:

    如果你自定义了init方法,没有从重写init方法,那么init方法不能用,只有自定义方法一个

    相关文章

      网友评论

          本文标题:swift学习之构造函数

          本文链接:https://www.haomeiwen.com/subject/ddjasttx.html