如何解决Swift:无法分配给属性:“ reuseIdentifier”是仅获取属性
我正在创建一个自定义的MKAnnotationView类,并试图找出它的初始化程序。到目前为止,我有这个:
class JumpSpotAnnotationView: MKAnnotationView {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(annotation: MKAnnotation?,reuseIdentifier: String?) {
super.init(annotation: annotation,reuseIdentifier: reuseIdentifier)
self.annotation = annotation
self.reuseIdentifier = reuseIdentifier
}
}
在最后一行“ self.reuseIdentifier = redirectIdentifier”处,出现错误“无法分配给属性:'reuseIdentifier'是仅获取属性”。我不完全了解这意味着什么或如何解决。如何正确地为reuseIdentifier创建初始化器?另外,作为附带说明,如果您感到慷慨,可以有人解释整个“必需的init”吗?我仍然很新,并且想了解它,但是文档实际上是空的。谢谢!
解决方法
由于您正在呼叫init
,因此可以删除super.init(annotation: annotation,reuseIdentifier: reuseIdentifier)
的最后两行。因此annotation
和reuseIdentifier
已在您的超类(即init
)的MKAnnotationView
中进行了初始化,因此无需在子类中再次进行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。