2017-03-06 5 views
0

Firebaseに日付フィールドを保存しようとしていますが、エラーが発生しています。Swiftで日付フィールドをFirebaseに保存するには?

@IBAction func dateValueChanged(sender: AnyObject) { 
    let datePicker = UIDatePicker() 
    datePicker.maximumDate = NSDate() 
} 


@IBAction func saveButtonTapped(sender: AnyObject) { 


    self.ref.child("New Posts").child(userID!).setValue(["Diary:":textEntry.text, "Title:": titleEntry.text, "Date:": datePicker.date]) 
} 

エラーメッセージ:

Contextual type 'AnyObject' cannot be used with dictionary literal 

任意のアイデア私が何をやっていませんよ?ありがとう。

答えて

1

日付をUnix時間(timeIntervalSince1970)として保存することをお勧めしますが、標準の日付形式は問題ありません。

+0

ありがとうございますが、これは私の日付フィールドの保存に役立ちません。 DatePickerからFirebaseリファレンスへの入力をどのように呼び出すのですか? datepicker.dateは機能しません –

+0

'datePicker'(クラスのプロパティなど)への参照がありますか? 'datePicker.date' IIRCから' date'を取得し、必要に応じてフォーマットすることができます。 https://developer.apple.com/reference/uikit/uidatepicker/1615975-date – Cameron

+0

はい、私はそれを参照しました。入力は間違いなく受信されていますが、Swiftはself.ref.child行の "AnyContextualType 'AnyObject'を辞書リテラルで使用できません"というエラーメッセージを表示し続けます –

1

NSDateをNSNumberに変換して保存します。 NSNumberからNSDateに読み込みます。しかし、あなたがAndroidアプリから読んだり、書き込んだりする場合は、数値を1970年の原点の日付(ゼロの値)を定義するUnixスタイルのTimestampに変換する必要があります.iOSはベースラインをわずかに異なって表します。

関連する問題