我不确定如何用 swift 语言注释地图。我不知道如何创建 NSObject 类。以下是我尝试过但无法运行的代码:
import Foundation
import MapKit
class MapPin : MKAnnotation
{
var mycoordinate: CLLocationCoordinate2D
var mytitle: String
var mysubtitle: String
func initMapPin (coordinate: CLLocationCoordinate2D!, title: String!, subtitle: String!)
{
mycoordinate = coordinate
mytitle = title
mysubtitle = subtitle
}
}
- Swift 中的所有初始化方法都必须是“init”
- MKAnnotation 要求对象继承自 NSObjectProtocol。为此,您应该让您的类继承自 NSObject
- 您应该声明您的属性以匹配 MKAnnotation 协议的属性
- 除非确实必要,否则不应将参数声明为隐式解包选项。让编译器检查某些内容是否为 nil,而不是抛出运行时错误。
这会给你结果:
class MapPin : NSObject, MKAnnotation {
var coordinate: CLLocationCoordinate2D
var title: String?
var subtitle: String?
init(coordinate: CLLocationCoordinate2D, title: String, subtitle: String) {
self.coordinate = coordinate
self.title = title
self.subtitle = subtitle
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)