我有8个假用户,包括我,在Parse上有不同的位置。如果用户在我的地图上按下注释,我想获得一个带有user.username的数组,以便与选择的人员进行直接聊天,将user.username发送到我的下一个NewChatVC
{{1通过receiver
进行var。为了达到这个目的,我首先尝试创建一个数组prepareForSegue
,例如,从较近的人中选出10个人。以km为单位的距离过滤器似乎很好,但是当我尝试填充我的数组时,在控制台中我得到了很多重复,而只有8个名字:
closeUsersArray
或一个组/数组或充满了这8个名称的重复:#/ p>
self.closeUsersArray.append(user.username!) //MARK: Test
更新
我发现在println("this is the array of users * \(self.closeUsersArray) *") //MARK: Test
代码中locationManager
多次评估,多次调用println("evaluates")
并调用displayLocationInfo
。我认为我应该尝试清除条件,也许是太多了
在我的文件下面,提前谢谢
createAnnotations
答案 0 :(得分:0)
不确定这是否可以解决问题但是改变for
循环可能有所帮助。试试这个:
for nearbyUser in objects {
let user = nearbyUser.objectForKey("username")
var myHomePin = MKPointAnnotation()
let userPoint = nearbyUser.objectForKey("location") as! PFGeoPoint
myHomePin.coordinate = CLLocationCoordinate2DMake(userPoint.latitude, userPoint.longitude)
myHomePin.title = ("\(user)")
myHomePin.subtitle = address
self.mapView.addAnnotation(myHomePin)
self.closeUsersArray.append(user) //MARK: Test
}
尝试类似的东西