2015-06-17 2 views
4

В "Offline Capabilities" section of the iOS guide он упоминает kFirebaseServerValueTimestamp, который, похоже, не работает в проекте Swift (автозаполнение не запрашивает его).Как установить временную метку сервера firebase с помощью SDK iOS в проекте Swift

Я попробовал [".sv": "timestamp"] как пример Swift. Но он жалуется, что это невозможно установить с другими значениями и должно быть единственным значением для данного пути.

Что я хотел сделать, так это сохранить созданную временную метку вместе с другими значениями для объекта. И я предпочел бы использовать серверное время, чтобы избежать перекоса часов клиента.

Как я могу это сделать?

+0

Вы можете добавить некоторые примеры кода? –

+0

ничего необычного. Я попробовал 'ref.childByAutoId(). setValue ([" text ":" foobar "," .sv ":" timestamp "], withCompletionBlock: {...}' и это дало мне ошибку, которая ".sv" не может быть сохранено с другим значением. –

+0

вы можете попробовать установить только значение .sv и использовать {} вместо []? Или, может быть, поставить его в самонастраиваемую переменную вместо .sv? –

ответ

10

Добавить ".sv":"timestamp" между скобками [ ], когда вы добавите его в свой Firebase.

например:

let objectToSave: Dictionary <String: AnyObject> = ["date": [".sv": "timestamp"], "key1": "value1", "key2": 1234.....] 

Code screenshot

Это должно быть написано в вашем Firebase как:

date: 1463329843759 

Firebase screenshot

+0

где это указано в документации? –

+0

Это упоминается в старых (www.firebase.com) документах –

+0

Спасибо - это феноменально полезно - они должны добавить его обратно в –

2

На Firebase 4.0 вы можете использовать ServerValue.timestamp ()

, например:

let ref = Database.database().reference().child("userExample") 
    let values = ["firstName": "Joe", "lastName": "Bloggs", "timestamp": ServerValue.timestamp()] as [String : Any] 

    ref.updateChildValues(values) { (err, ref) in 

     if let err = err { 
      print("failed to upload user data", err) 
      return 
     } 

    } 
Смежные вопросы