8

iOSガイドの「オフライン機能」セクションでは、 SwiftkFirebaseServerValueTimestampプロジェクトでは機能しないようです(オートコンプリートではプロンプトが表示されません)。

[".sv": "timestamp"]Swiftの例と同じように試しました。しかし、これは他の値では設定できず、指定されたパスでの唯一の値でなければならないと不平を言っています。

私は試した:

ref.childByAutoId().setValue(["text": "foobar", ".sv": "timestamp"], withCompletionBlock: {...} 

そして、「.sv」は他の値で保存できないというエラーが表示されました。

私がやりたかったのは、createdAt タイムスタンプをオブジェクトの他の値と共に保存することです。そして、クライアントの時計のずれを避けるために、サーバーの時刻を使用したいと思います。

どうやってやるの?

4

2 に答える 2

10

エントリに追加するときに".sv":"timestamp"括弧の間を追加します。[ ]Firebase

例えば:

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

コードのスクリーンショット

次のように Firebase に書き込む必要があります。

date: 1463329843759

Firebase のスクリーンショット

于 2016-05-15T16:45:59.007 に答える
7

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
        }

    }
于 2017-06-04T12:14:30.613 に答える