这部分代码如何工作?有人可以解释更多关于自我的事情吗?
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()
}
}
答案 0 :(得分:-2)
访问要在其中编写代码的类时使用自我。
class Cat {
let catName = "My Cat"
func name() {
self.nameCat()
}
func nameCat() {
let catName = "Sam"
print(catName)
print(self.catName)
}
}
在此示例中,当运行name()时,终端将打印: “山姆”,然后“我的猫”。没有“自我”的变量将具有该变量的“最新”引用值,而具有“自我”的变量将引用该类。这也适用于功能。您可以运行self.nameCat()来访问Cat类中的“ nameCat”函数。基本上,“ self”返回您正在编写代码的类的实例。