ios - 'title' 的类型与协议(protocol) 'MKAnnotation' 要求的可选性不同

标签 ios iphone swift mapkit ios9.1

我快速学习了 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/

相关文章:

ios - YapDatabase 只使用单表存储数据

ios - 无法添加缺少的约束 Xcode 6

iphone - 我的iPhone应用程序信息也如何在其他网站上发布?

ios - 自定义导航栏有一个分隔线

ios - 如何调整父 View 的大小以符合 subview 的约束

ios - 渲染自定义模型(来自 Photoshop 3D Export)

ios - 选择列表的顺序

iphone - 如何在 UIlabel 中显示阿拉伯语文本

iphone - 搜索硕士论文主题

iOS 如何在少数数据表中搜索数据 Parse swift 4