Classes
The following classes are available globally.
-
See moreDittoKit
is the entry point for accessing Ditto-related functionality.Declaration
Swift
@objc public class DittoKit : NSObject
-
A reference to a collection in a
See moreDittoStore
.Declaration
Swift
@objc public class DittoCollection : NSObject
-
Configuration for the database backend that
See moreDittoStore
uses. Currently this is LMDB.Declaration
Swift
@objc public class DittoDBConfig : NSObject
-
A document belonging to a
See moreDittoCollection
with a nested typed value.Declaration
Swift
public class DittoDocument<T>
-
Provides an interface to specify a path to a key in a document that you can then call a function on to get the value at the specified key as a specific type. You obtain a
See moreDittoDocumentPath
by subscripting aDittoDocument
and you can then further subscript aDittoDocumentPath
to further specify the key of the document that you want to get the value of.Declaration
Swift
public class DittoDocumentPath
-
The type that is returned when calling when calling
See moreobserve
orobserveLocal
on aDittoPendingCursorOperation
object. It handles the logic for calling the event handler that is provided toobserve
orobserveLocal
calls.DittoLiveQuery
objects must be kept in scope for as long as you with to have your event handler be called when there is an update to a document matching the query you provide.Declaration
Swift
public class DittoLiveQuery<T>
-
This is used as part of update operations for documents. It provides access to updating a document through a subscript-based API. A subscript operation returns a
See moreDittoMutableDocumentPath
that you can then use to chain further subscript operations to in order to access nested values in a document. Once you’ve defined the path to a key in a document that you’d like to update, by using subscripts, then you can use the functionality defined onDittoMutableDocumentPath
to perform the desired document update(s). Note that objects of this type should only be used within the scope of the update closure that they are provided in.Declaration
Swift
public class DittoMutableDocument<T>
-
Provides an interface to specify a path to a key in a document that you can then call various update functions on. You obtain a
See moreDittoMutableDocumentPath
by subscripting aDittoMutableDocument
and you can then further subscript aDittoMutbaleDocumentPath
to further specify the key of the document that you want to update.Declaration
Swift
public class DittoMutableDocumentPath
-
These objects are returned when using
See morefind
-like functionality onDittoCollection
s. They allow chaining of further query-related functions to do things like add a limit to the number of documents you want returned or specify how you want the documents to be sorted and ordered. You can either callexec
on the object to get an array ofDittoDocument
s as an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by callingobserve
, will notify you every time there’s an update to a document that matches the query you provided in the precedingfind
-like call. A subscription, established by callingsubscribe
, will act as a signal to other peers that the device connects to that you would like to receive updates from them about documents that match the query you provided in the precedingfind
-like call. Callingobserve
will generate both a subscription and a live query at the same time. If you’d like to only observe local changes then you can callobserveLocal
. Update and remove functionality is also exposed through this object.Declaration
Swift
public class DittoPendingCursorOperation<T>
-
These objects are returned when using
See morefindByID
functionality onDittoCollection
s. You can either callexec
on the object to get an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by callingobserve
, will notify you every time there’s an update to the document with the ID you provided in the precedingfindByID
call. A subscription, established by callingsubscribe
, will act as a signal to other peers that you would like to receive updates from them about the document with the ID you provided in the precedingfindByID
call. Callingobserve
will generate both a subscription and a live query at the same time. If you’d like to only observe local changes then you can callobserveLocal
. Update and remove functionality is also exposed through this object.Declaration
Swift
public class DittoPendingIDSpecificOperation<T>
-
The type that is returned when calling
See moreobserve
orobserveLocal
on aDittoPendingIDSpecificOperation
object. It handles the logic for calling the event handler that is provided toobserve
orobserveLocal
calls.DittoSingleDocumentLiveQuery
objects must be kept in scope for as long as you with to have your event handler be called when there is an update to the referenced document.Declaration
Swift
public class DittoSingleDocumentLiveQuery<T>
-
See moreDittoStore
provides access toDittoCollection
s and a write transaction API.Declaration
Swift
@objc public class DittoStore : NSObject
-
While
See moreDittoSubscription
objects remain in scope they ensure that documents in the collection specified and that match the query provided will try to be kept up-to-date with the latest changes from remote peers.Declaration
Swift
public class DittoSubscription
-
See moreDittoWriteTransaction
exposes functionality that allows you to perform multiple operations on the store within a single write transaction.Declaration
Swift
public class DittoWriteTransaction<T>