属性的类实例引用

时间:2017-12-08 22:18:41

标签: swift class properties

我有一个带有注释作为属性的类

var user1 = UserClass()

然后我做了这个类的几个实例,如:

@objc(mapView:didSelectAnnotationView:) func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if let annot = view.annotation as? MKPointAnnotation {
        let user = // Need the user instance here to acces user id etc
    }
}

然后在地图上定义,创建和添加每个用户的注释。

稍后在代码中用户点击注释,我需要对相应用户实例的引用。我怎么得到它?

    for (int i = 0; i < pairedSystems.size(); i++) {
        System sys = (System) pairedSystems.get(i);
        if (sys.id() == system.id()) {
            sys.addPower((int) pairedId.get(i), amount);

        }
    }

1 个答案:

答案 0 :(得分:0)

您可能在使用注释填充地图视图的类中的数组中拥有所有用户。如果没有,请将所有用户存储在一个数组中,然后:

@objc(mapView:didSelectAnnotationView:) func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
   if let annot = view.annotation as? MKPointAnnotation {
      let user = usersArray.first(where:{$0.annot == annot})
   }
}