Swift构造函数

原创 Laughing  2017-07-08 22:41  阅读 244 次 评论 0 条

Swift里面有几个特殊的构造函数:指定构造方法、遍历构造方法、可失败构造方法和必要构造方法,并且函数的存储属性可以通过闭包的形式设置默认值。具体的可以参考下面的代码。

  1. //: Playground - noun: a place where people can play  
  2.   
  3. import UIKit  
  4.   
  5. class MyClass{  
  6.     var count:Int = 0{  
  7.         willSet{  
  8.             print("willSet")  
  9.         }  
  10.     }  
  11.     var name:String{  
  12.         didSet{  
  13.             print("didSet")  
  14.         }  
  15.     }  
  16.       
  17.     init(name:String) {  
  18.         self.name = "李森的博客"  
  19.     }  
  20. }  
  21.   
  22. let myClass = MyClass(name:"博客")//属性观察器不会调用  
  23. myClass.name = "李森"//调用name属性观察器  
  24.   
  25. class BaseClass{  
  26.     init(){  
  27.         print("BaseClass Designated")  
  28.     }  
  29.       
  30.     convenience init(para:String) {  
  31.         print(para)  
  32.         self.init()  
  33.     }  
  34. }  
  35.   
  36.   
  37. class SubClass:BaseClass{  
  38.     override init() {  
  39.         super.init()  
  40.     }  
  41.       
  42.     convenience init(para:String) {  
  43.         self.init()  
  44.     }  
  45.       
  46.     convenience init(para:Int) {  
  47.         self.init(para:"HS")  
  48.     }  
  49. }  
  50.   
  51. var obj2 = SubClass()  
  52.   
  53. //可失败构造方法  
  54. class CheckClass{  
  55.     var property:Int  
  56.    required init(param:Int) {//子类必须实现此构造方法  
  57.         property = param  
  58.     }  
  59.     init?(param:Bool) {  
  60.         guard param else {  
  61.             return nil  
  62.         }  
  63.         property = 1  
  64.     }  
  65.     var name:String = {return "李森的博客"}()//通过闭包设置默认值  
  66. }  
  67. var check = CheckClass(param: false)//nil  

历史上的今天:

本文地址:https://www.lisen.me/388.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情