Обновление местоположения пользователя в Parse с использованием Xcode 8 и Swift 3

Я запускаю Parse Server и пытаюсь войти в систему пользователя, а затем обновить его местоположение. Прямо сейчас я просто вручную создаю PFGeoPoint, а затем пытаюсь добавить его в ключ "location", который я уже добавил на сервере Parse как PFGeoPoint. Когда я запускаю следующий код, я получаю сообщение об ошибке.

 let currentUser = PFUser.logInWithUsername(inBackground: "test", password: "test")
 let point = PFGeoPoint(latitude: 25.000, longitude: 25.000)
 currentUser.setValue(point, forKey:"location")

Ошибка заключается в следующем:

'NSUnknownKeyException', reason: '[<BFTask 0x60000067da00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key location.'

Как я могу решить эту ошибку? Любая помощь приветствуется! Я использую Xcode 8 и Swift 3.


person DavidShepard    schedule 25.10.2016    source источник
comment
PFGeoPoint.geoPointForCurrentLocationInBackground { (geoPoint: PFGeoPoint?, ошибка: NSError?) -> Пусто, если ошибка == nil { print(местоположение получено успешно) PFUser.currentUser()!.setValue(geoPoint, forKey:location) PFUser.currentUser( )!.saveInBackground() } else { печать (ошибка) } }   -  person Himanshu Moradiya    schedule 25.10.2016
comment
@himanshu: если этот комментарий должен был быть ответом, вы должны сделать его ответом (с небольшим объяснением того, почему он сработает). Иначе я вообще не понимаю комментарий.   -  person rici    schedule 25.10.2016
comment
@rici проверь мой ответ   -  person Himanshu Moradiya    schedule 13.04.2017


Ответы (1)


PFGeoPoint.geoPointForCurrentLocationInBackground { 
    (geoPoint: PFGeoPoint?, error: NSError?) -> Void in 
          if error == nil { 
               print("got location successfully") 
               PFUser.currentUser()!.setValue(geoPoint, forKey:"location") PFUser.currentUser()!.saveInBackground() 
          } else { 
               print(error) 
          } 
 }

вот метод, который используется для поиска текущего местоположения пользователя и передачи этих данных на ваш сервер с помощью PFGeoPoint, эта задача выполняется в фоновом режиме. здесь я также упоминаю, что если ваше местоположение изменится или изменится, сервер PFUser обновит свое местоположение новым. надеюсь, вы немного ясно об этом.

спасибо.

person Himanshu Moradiya    schedule 26.10.2016