在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
要初始化结构和类和其他类型的实例的属性。 默认的构造函数
struct Fahrenheit { var temperature: Doubleinit(){ temperature = 32.0 } }
var f = Fahrenheit() //调用默认构造器 init() ,没有參数 没有返回值。
println("The default temperature is \(f.temperature)°Fahrenheit") // prints "The default temperature is 32.0° Fahrenheit"
自己定义构造器
定义类两个构造器:init(fromFahrenheit:) 和init(fromKelvin:)
struct Celsius { var temperatureInCelsius: Double = 0.0 init(fromFahrenheit fahrenheit: Double) { temperatureInCelsius = (fahrenheit - 32.0) / 1.8 } init(fromKelvin kelvin: Double) { temperatureInCelsius = kelvin -273.15 } } let boilingPointOfWater = Celsius(fromFahrenheit:212.0) // boilingPointOfWater.temperatureInCelsius is 100.0 let freezingPointOfWater =Celsius(fromKelvin:273.15) // freezingPointOfWater.temperatureInCelsius is 0.0
析构器(Deinitializer) 析构器与构造器相反,在对象释放时候调用。 使用keyword deinit,语法例如以下:
deinit { // perform thedeinitialization }
实例:
class Player { var coinsInPurse:Int init(coins: Int) { println("call init") coinsInPurse= coins } func winCoins(coins: Int) { coinsInPurse+= 10 } deinit { coinsInPurse = 0 } } var playerOne: Player? = Player(coins: 100) println("coinsInPurse : \(playerOne!.coinsInPurse) coins") playerOne = nil println("PlayerOne has leftthe game")
Swift交流讨论论坛论坛:http://www.cocoagame.net 欢迎增加Swift技术交流群:362298485 版权声明:本文博客原创文章,博客,未经同意,不得转载。 |
请发表评论