我快速学习了 Ray Wenderlich MapKit 教程:http://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial当我创建 Artwork 类时,我得到了标题中写的错误。我不知道我必须做什么。 这是代码:
class Artwork: NSObject, MKAnnotation {
let title: String
let locationName: String
let discipline: String
let coordinate: CLLocationCoordinate2D
init(title: String, locationName: String, discipline: String, coordinate: CLLocationCoordinate2D) {
self.title = title
self.locationName = locationName
self.discipline = discipline
self.coordinate = coordinate
super.init()
}
}
请帮忙!
最佳答案
anser 在文档中:我们在 MKAnnotation protocol reference 上看到属性 title
必须是可选的页面。
这正是错误消息告诉您的内容:title
的可选性不正确。
相应地改变它:
class Artwork: NSObject, MKAnnotation {
var title: String?
let locationName: String
let discipline: String
let coordinate: CLLocationCoordinate2D
init(title: String, locationName: String, discipline: String, coordinate: CLLocationCoordinate2D) {
self.title = title
self.locationName = locationName
self.discipline = discipline
self.coordinate = coordinate
super.init()
}
}
提示:在 Xcode 中,CMD+单击您的对象或定义(在您的情况下为 MKAnnotation
)以查看协议(protocol)的声明方式及其要求。
关于ios - 'title' 的类型与协议(protocol) 'MKAnnotation' 要求的可选性不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33524664/