Swift使用参数自定义初始化
示例
struct MetricDistance {
var distanceInMeters: Double
init(fromCentimeters centimeters: Double) {
distanceInMeters = centimeters / 100
}
init(fromKilometers kilos: Double) {
distanceInMeters = kilos * 1000
}
}
let myDistance = MetricDistance(fromCentimeters: 42)
//myDistance.distanceInMetersis0.42
let myOtherDistance = MetricDistance(fromKilometers: 42)
//myOtherDistance.distanceInMetersis42000请注意,您不能省略参数标签:
let myBadDistance = MetricDistance(42) //错误:参数标签与任何可用的重载都不匹配
为了允许省略参数标签,请使用下划线_作为标签:
struct MetricDistance {
var distanceInMeters: Double
init(_ meters: Double) {
distanceInMeters = meters
}
}
let myDistance = MetricDistance(42) //distanceInMeters=42如果参数标签使用一个或多个属性共享名称,请使用self显式设置属性值:
struct Color {
var red, green, blue: Double
init(red: Double, green: Double, blue: Double) {
self.red= red
self.green= green
self.blue= blue
}
}
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下