From 08bd327bbfd352ecac783528300c55f1d738e4ae Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Thu, 14 Dec 2017 11:03:41 +0800 Subject: Adding Swift build test --- Firestore/Example/SwiftBuildTest/main.swift | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'Firestore/Example/SwiftBuildTest/main.swift') diff --git a/Firestore/Example/SwiftBuildTest/main.swift b/Firestore/Example/SwiftBuildTest/main.swift index 475c1b2..c05f378 100644 --- a/Firestore/Example/SwiftBuildTest/main.swift +++ b/Firestore/Example/SwiftBuildTest/main.swift @@ -167,11 +167,20 @@ func readDocument(at docRef: DocumentReference) { // Trailing closure syntax. docRef.getDocument() { document, error in if let document = document { - // NOTE that document is nullable. - let data = document.data(); + // Note that both document and document.data() is nullable. + if let data = document.data() { print("Read document: \(data)") - - // Fields are read via subscript notation. + } + if let data = document.data(with:SnapshotOptions.serverTimestampBehavior(.estimate)) { + print("Read document: \(data)") + } + if let foo = document.get("foo") { + print("Field: \(foo)") + } + if let foo = document.get("foo", options: SnapshotOptions.serverTimestampBehavior(.previous)) { + print("Field: \(foo)") + } + // Fields can also be read via subscript notation. if let foo = document["foo"] { print("Field: \(foo)") } @@ -214,7 +223,9 @@ func listenToDocument(at docRef: DocumentReference) { } if let document = document { - print("Current document: \(document.data())"); + // Note that document.data() is nullable. + let data : [String:Any]? = document.data() + print("Current document: \(data)"); if (document.metadata.isFromCache) { print("From Cache") } else { @@ -241,7 +252,9 @@ func listenToDocuments(matching query: Query) { // TODO(mikelehen): Figure out how to make "for..in" syntax work // directly on documentSet. for document in snap.documents { - print("Doc: ", document.data()) + // Note that document.data() is not nullable. + let data : [String:Any] = document.data() + print("Doc: ", data) } } } -- cgit v1.2.3