Other Structures

The following structures are available globally.

  • Object identifier type.

    Object identifiers are wrappers for Id values which are UInt64. These are used for persisted objects. Identifiers are assigned by the framework automatically when you call Box.put.

    A value of 0 indicates the object hasn’t been persisted, yet.

    See more

    Declaration

    Swift

    public struct EntityId<R> : IdBase, Hashable where R : EntityInspectable, R : __EntityRelatable
    extension EntityId: ExpressibleByIntegerLiteral
    extension EntityId: CustomStringConvertible
  • Different from regular Propertys, backlinks and standalone relations don’t actually exist in the database, so to allow referencing them when creating a relation query using link(_ property:), they use their own class.

    You usually do not create instances of this struct. The code generator creates them for you and you just use them in property queries to refer to individual properties.

    See more

    Declaration

    Swift

    public struct ToManyProperty<R>
  • Lightweight struct wrapper around FlatBuffer reading. Used by generated Swift code to hydrate an entity from the store.

    See more

    Declaration

    Swift

    public struct FlatBufferReader
  • A collection of changes made to one entity type during a sync transaction. Delivered via SyncChangeListener.

    IDs of changed objects are available via puts and those of removed objects via removals.

    Declaration

    Swift

    public struct SyncChange