FirebaseDatabase Framework Reference Stay organized with collections Save and categorize content based on your preferences.
Database
classDatabase:NSObjectThe entry point for accessing a Firebase Database. You can get an instanceby callingDatabase.database(). To access a location in the database andread or write data, useFIRDatabase.reference().
Unavailable
use the database method instead
The NSObject initializer that has been marked as unavailable. Use the
databaseclass method instead.Gets the instance of
Databasefor the defaultFirebaseApp.Declaration
Swift
classfuncdatabase()->DatabaseReturn Value
A
Databaseinstance.Gets a
Databaseinstance for the specified URL.Declaration
Swift
classfuncdatabase(url:String)->DatabaseParameters
urlThe URL to the Firebase Database instance you want to access.
Return Value
A
Databaseinstance.Gets a
Databaseinstance for the specified URL, using the specifiedFirebaseApp.Declaration
Swift
classfuncdatabase(app:FIRApp,url:String)->DatabaseParameters
appThe app to get a
Databasefor.urlThe URL to the Firebase Database instance you want to access.
Return Value
A
Databaseinstance.Gets an instance of
Databasefor a specificFirebaseApp.Declaration
Swift
classfuncdatabase(app:FIRApp)->DatabaseParameters
appThe app to get a
Databasefor.Return Value
A
Databaseinstance.The app instance to which this
Databasebelongs.Declaration
Swift
weakvarapp:FIRApp?{get}Gets a
DatabaseReferencefor the root of your Firebase Database.Declaration
Swift
funcreference()->DatabaseReferenceGets a
DatabaseReferencefor the provided path.Declaration
Swift
funcreference(withPathpath:String)->DatabaseReferenceParameters
pathPath to a location in your Firebase Database.
Return Value
A
DatabaseReferencepointing to the specified path.Gets a
DatabaseReferencefor the provided URL. The URL must be a URL to a path within this Firebase Database. To create aDatabaseReferenceto a different database, create aFirebaseAppwith anOptionsobject configured with the appropriate database URL.Declaration
Swift
funcreference(fromURLdatabaseUrl:String)->DatabaseReferenceParameters
databaseUrlA URL to a path within your database.
Return Value
A
DatabaseReferencefor the provided URL.The Firebase Database client automatically queues writes and sends them to the server at the earliest opportunity, depending on network connectivity. In some cases (e.g. offline usage) there may be a large number of writes waiting to be sent. Calling this method will purge all outstanding writes so they are abandoned.
All writes will be purged, including transactions and onDisconnect writes. The writes will be rolled back locally, perhaps triggering events for affected event listeners, and the client will not (re-)send them to the Firebase Database backend.
Declaration
Swift
funcpurgeOutstandingWrites()Shuts down the connection to the Firebase Database backend until
goOnline()is called.Declaration
Swift
funcgoOffline()Resumes the connection to the Firebase Database backend after a previousgoOffline() call.
Declaration
Swift
funcgoOnline()The Firebase Database client will cache synchronized data and keep track of all writes you’ve initiated while your application is running. It seamlessly handles intermittent network connections and re-sends write operations when the network connection is restored.
However by default your write operations and cached data are only stored in-memory and will be lost when your app restarts. By setting this value to
true, the data will be persisted to on-device (disk) storage and will thus be available again when the app is restarted (even when there is no network connectivity at that time). Note that this property must be set before creating your firstDatabaseReferenceand only needs to be called once per application.Declaration
Swift
varisPersistenceEnabled:Bool{getset}By default the Firebase Database client will use up to 10MB of disk space to cache data. If the cache grows beyond this size, the client will start removing data that hasn’t been recently used. If you find that your application caches too little or too much data, call this method to change the cache size. This property must be set before creating your first
DatabaseReferenceand only needs to be called once per application.Note that the specified cache size is only an approximation and the size on disk may temporarily exceed it at times. Cache sizes smaller than 1 MB or greater than 100 MB are not supported.
Declaration
Swift
varpersistenceCacheSizeBytes:UInt{getset}Sets the dispatch queue on which all events are raised. The default queue is the main queue.
Note that this must be set before creating your first Database reference.
Declaration
Swift
varcallbackQueue:dispatch_queue_t{getset}Enables verbose diagnostic logging.
Declaration
Swift
classfuncsetLoggingEnabled(_enabled:Bool)Parameters
enabledtrue to enable logging, false to disable.
Retrieve the Firebase Database SDK version.
Declaration
Swift
classfuncsdkVersion()->StringConfigures the database to use an emulated backend instead of the defaultremote backend.
Declaration
Swift
funcuseEmulator(withHosthost:String,port:Int)Undocumented
Declaration
Swift
typealiasEncoder=FirebaseDataEncoderUndocumented
Declaration
Swift
typealiasDecoder=FirebaseDataDecoder
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-11 UTC.