当前位置 : 主页 > 手机开发 > 其它 >

Swift – 如何使用新属性添加扩展现有类?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我想创建一个GMSMarker的子类.它使用一个属性初始化,即位置:CLLocationCoordinate2D.它还具有可以像这样设置的属性 let position = CLLocationCoordinate2DMake(51.5, -0.127)let london = GMSMarker(position: positi
我想创建一个GMSMarker的子类.它使用一个属性初始化,即位置:CLLocationCoordinate2D.它还具有可以像这样设置的属性

let position = CLLocationCoordinate2DMake(51.5, -0.127)
let london = GMSMarker(position: position)
london.title = "London"
london.icon = UIImage(named: "house")
london.map = mapView

我想添加新的房产评级

我试过这样的

class Marker: GMSMarker {

var rating:Int

init(rating: Int){
    self.rating = rating
    super.init()
}

}

但它不允许使用点表示法为属性评级赋值

我怎样才能做到这一点 ?

更改如下:

var rating : Int = 0

convenience init(rating: Int){
    self.init()
    self.rating = 2

}

Swift要求在创建实例之前完全初始化所有属性.

此外,当你写一个方便的初始化,就像你在这里做,方便初始化只能拨打另一家便利初始化或同一类内的指定初始化.

网友评论