微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想创建一个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要求在创建实例之前完全初始化所有属性.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐