这部分代码是如何工作的?有人能解释一下自己吗?
import MapKit
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()
}
}
在访问您正在编写代码的类时使用Self。
class Cat {
let catName = "My Cat"
func name() {
self.nameCat()
}
func nameCat() {
let catName = "Sam"
print(catName)
print(self.catName)
}
}
在这个例子中,当运行name()时,终端将打印:“Sam”,然后是“My Cat”。没有“self”的变量将具有该变量的最新引用的值,而带有“self”的变量将引用该类。这也适用于函数。您可以运行self. nameCat()来访问Cat类中的“nameCat”函数。基本上,“self”返回您正在编写代码的类的实例。