Swift,初始化

kimingw發表於2017-09-21

1、class中的值是沒辦法不賦值,不然會報錯,那麼就有個init的方法初始化(這個方法使得例項時必須加上引數)

class test{
  var a:String
  var b:Int
  init(a:String,b:Int){
    self.a=a  //self代表這個class本身
    self.b=b
  }
}
var c=test(a:"好",b:0)
print(c.a)  //好
print(c.b)  //0

2、struct結構體中是不需要init初始化的

struct test{
  var a:String
  var b:Int
}
var c=test(a:"好",b:0)
print(c.a)  //好
print(c.b)  //0

3、設定預設值的初始化(輸出初始值則輸出初始值沒有則獲取預設值)

class test{
  var a:String
  init(a:String){
    self.a=a
  }
  convenience init(){
    self.init(a:"是")
  }
}
var c=test()
print(c.a)  //是

4、可失敗初始化(如果a是空則返回nil,如果不空則把a匯入a)

class test{
  var a:String
  init?(a:String){
    if a.isEmpty{
      return nil
    }
    self.a=a
  }
}
var c=test(a:"")  //nil

  

相關文章