深入解析Swift语言编程中的可选链

2020-01-08 22:36:54丽君

   init(radiusname: String) { self.radiusname = radiusname }
}

class circumference {
   var circumName: String?
   var circumNumber: String?
   var circumarea: String?
   
   func buildingIdentifier() -> String? {
      if circumName != nil {
         return circumName
      } else if circumNumber != nil {
         return circumNumber
      } else {
         return nil
      }
   }
}


let circname = rectangle()

if let radiusName = circname.print?[0].radiusname {
   println("The first room name is (radiusName).")
} else {
   println("Radius is not specified.")
}


当我们使用 playground 运行上面的程序,得到以下结果。

 


Radius is not specified.

在以上程序未指定成员函数 “radiusName” 的实例值。因此,程序调用该函数将返回唯一内容,以返回必须定义特定成员函数值的一部分。

程序 2

复制代码
class rectangle {
   var print: circle?
}

 

class circle {
   var area = [radius]()
   var cprint: Int {
      return area.count
   }
   
   subscript(i: Int) -> radius {
      get {
         return area[i]
      }
      set {
         area[i] = newValue
      }
   }
   func circleprint() {
      println("The number of rooms is (cprint)")
   }
   var rectarea: circumference?
}

class radius {
   let radiusname: String
   init(radiusname: String) { self.radiusname = radiusname }
}

class circumference {