FIRDocumentSnapshot
@interface FIRDocumentSnapshot : NSObjectA DocumentSnapshot 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 DocumentSnapshot 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.
- 
                  
                  True if the document exists. DeclarationObjective-C @property (nonatomic, readonly) BOOL exists;
- 
                  
                  A DocumentReferenceto the document location.DeclarationObjective-C @property (nonatomic, strong, readonly) FIRDocumentReference *_Nonnull reference;
- 
                  
                  The ID of the document for which this DocumentSnapshotcontains data.DeclarationObjective-C @property (nonatomic, copy, readonly) NSString *_Nonnull documentID;
- 
                  
                  Metadata about this snapshot concerning its source and if it has local modifications. DeclarationObjective-C @property (nonatomic, strong, readonly) FIRSnapshotMetadata *_Nonnull metadata;
- 
                  
                  Retrieves all fields in the document as a Dictionary. Returnsnilif the document doesn’t exist.Server-provided timestamps that have not yet been set to their final value will be returned as NSNull. You can use thedata(with:)method to configure this behavior.DeclarationObjective-C - (nullable NSDictionary<NSString *, id> *)data;Return ValueA Dictionarycontaining all fields in the document ornilif the document doesn’t exist.
- 
                  
                  Retrieves all fields in the document as a Dictionary. Returnsnilif the document doesn’t exist.DeclarationObjective-C - (nullable NSDictionary<NSString *, id> *)dataWithServerTimestampBehavior: (FIRServerTimestampBehavior)serverTimestampBehavior;ParametersserverTimestampBehaviorConfigures how server timestamps that have not yet been set to their final value are returned from the snapshot. Return ValueA Dictionarycontaining all fields in the document ornilif the document doesn’t exist.
- 
                  
                  Retrieves a specific field from the document. Returns nilif the document or the field doesn’t exist.The timestamps that have not yet been set to their final value will be returned as NSNull. You can useget(_:serverTimestampBehavior:)to configure this behavior.DeclarationObjective-C - (nullable id)valueForField:(nonnull id)field;ParametersfieldThe field to retrieve. Return ValueThe value contained in the field or nilif the document or field doesn’t exist.
- 
                  
                  Retrieves a specific field from the document. Returns nilif the document or the field doesn’t exist.The timestamps that have not yet been set to their final value will be returned as NSNull. You can useget(_:serverTimestampBehavior:)to configure this behavior.DeclarationObjective-C - (nullable id)valueForField:(nonnull id)field serverTimestampBehavior: (FIRServerTimestampBehavior)serverTimestampBehavior;ParametersfieldThe field to retrieve. serverTimestampBehaviorConfigures how server timestamps that have not yet been set to their final value are returned from the snapshot. Return ValueThe value contained in the field or nilif the document or field doesn’t exist.
- 
                  
                  Retrieves a specific field from the document. DeclarationObjective-C - (nullable id)objectForKeyedSubscript:(nonnull id)key;ParameterskeyThe field to retrieve. Return ValueThe value contained in the field or nilif the document or field doesn’t exist.