提问者:小点点

Swift mapkit解释请[重复]


这部分代码是如何工作的?有人能解释一下自己吗?

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()
  }
}

共1个答案

匿名用户

在访问您正在编写代码的类时使用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”返回您正在编写代码的类的实例。