Classes

The following classes are available globally.

  • A FIRCollectionReference object can be used for adding documents, getting document references, and querying for documents (using the methods inherited from FIRQuery).

    Declaration

    Swift

    class CollectionReference : Query
  • A FIRDocumentChange represents a change to the documents matching a query. It contains the document affected and the type of change that occurred (added, modified, or removed).

    Declaration

    Swift

    class DocumentChange : NSObject
  • A FIRDocumentReference refers to a document location in a Firestore database and can be used to write, read, or listen to the location. The document at the referenced location may or may not exist. A FIRDocumentReference can also be used to create a FIRCollectionReference to a subcollection.

    Declaration

    Swift

    class DocumentReference : NSObject
  • A FIRDocumentSnapshot contains data read from a document in your Firestore database. The data can be extracted with the data property or by using subscript syntax to access a specific field.

    For a FIRDocumentSnapshot that points to a non-existing document, any data access will return nil. You can use the exists property to explicitly verify a documents existence.

    Declaration

    Swift

    class DocumentSnapshot : NSObject
  • A FIRQueryDocumentSnapshot contains data read from a document in your Firestore database as part of a query. The document is guaranteed to exist and its data can be extracted with the data property or by using subscript syntax to access a specific field.

    A FIRQueryDocumentSnapshot offers the same API surface as a FIRDocumentSnapshot. As deleted documents are not returned from queries, its exists property will always be true and data: will never return nil.

    Declaration

    Swift

    class QueryDocumentSnapshot : DocumentSnapshot
  • A FieldPath refers to a field in a document. The path may consist of a single field name (referring to a top level field in the document), or a list of field names (referring to a nested field in the document).

    Declaration

    Swift

    class FieldPath : NSObject, NSCopying
  • Sentinel values that can be used when writing document fields with setData() or updateData().

    Declaration

    Swift

    class FieldValue : NSObject
  • FIRFirestore represents a Firestore Database and is the entry point for all Firestore operations.

    Declaration

    Swift

    class Firestore : NSObject
  • Settings used to configure a FIRFirestore instance.

    Declaration

    Swift

    class FirestoreSettings : NSObject, NSCopying
  • An immutable object representing a geographical point in Firestore. The point is represented as a latitude/longitude pair.

    Latitude values are in the range of [-90, 90]. Longitude values are in the range of [-180, 180].

    Declaration

    Swift

    class GeoPoint : NSObject, NSCopying
  • A FIRQuery refers to a Query which you can read or listen to. You can also construct refined FIRQuery objects by adding filters and ordering.

    Declaration

    Swift

    class Query : NSObject
  • A FIRQuerySnapshot contains zero or more FIRDocumentSnapshot objects. It can be enumerated using for … in documentSet.documents and its size can be inspected with isEmpty and count.

    Declaration

    Swift

    class QuerySnapshot : NSObject
  • Metadata about a snapshot, describing the state of the snapshot.

    Declaration

    Swift

    class SnapshotMetadata : NSObject
  • A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are smeared so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

    Declaration

    Swift

    class Timestamp : NSObject, NSCopying
  • FIRTransaction provides methods to read and write data within a transaction.

    See

    FIRFirestore#transaction:completion:

    Declaration

    Swift

    class Transaction : NSObject
  • A write batch is used to perform multiple writes as a single atomic unit.

    A WriteBatch object can be acquired by calling [FIRFirestore batch]. It provides methods for adding writes to the write batch. None of the writes will be committed (or visible locally) until [FIRWriteBatch commit] is called.

    Unlike transactions, write batches are persisted offline and therefore are preferable when you don’t need to condition your writes on read data.

    Declaration

    Swift

    class WriteBatch : NSObject