ObservedSectionedResults

@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
@propertyWrapper
public struct ObservedSectionedResults<Key, ResultType> : DynamicProperty, BoundCollection where Key : _Persistable, Key : Hashable, ResultType : KeypathSortable, ResultType : RealmFetchable, ResultType : _ObservedResultsValue, ResultType : Identifiable

表示分段结果集合的属性包装器类型。

如果初始化程序中未设置configuration ,则分段结果将使用环境值realmConfiguration提供的域配置。

对于 SwiftUI 中的@ObservedSectionedResults var v$v指的是BoundCollection

  • 声明

    Swift

    public typealias Element = ResultType
  • 存储用于筛选 SectionedResults 的 NSPredicate。 它与where参数互斥。

    声明

    Swift

    @State
    public var filter: NSPredicate? { get nonmutating set }
  • 存储用于筛选 SectionedResults 的类型安全查询。 它与filter参数互斥。

    声明

    Swift

    @State
    public var `where`: ((Query<ResultType>) -> Query<Bool>)? { get nonmutating set }
  • @ObservedSectionedResults集合中删除具有给定IndexSetResultsSection的项目。

    声明

    Swift

    public func remove(atOffsets offsets: IndexSet,
                       section: ResultsSection<Key, ResultType>) where ResultType: ObjectBase & ThreadConfined

    参数

    offsets

    该部分中的索引偏移量。

    section

    包含要删除的项目的部分。

  • 为给定的Projection类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init<ObjectType: ObjectBase>(_ type: ResultType.Type,
                                        sectionKeyPath: KeyPath<ResultType, Key>,
                                        sortDescriptors: [SortDescriptor] = [],
                                        filter: NSPredicate? = nil,
                                        keyPaths: [String]? = nil,
                                        configuration: Realm.Configuration? = nil) where ResultType: Projection<ObjectType>, ObjectType: ThreadConfined

    参数

    type

    观察类型

    sectionKeyPath

    将为每个部分生成密钥的 keyPath。 对于从 keyPath 检索到的每个唯一值,都会生成一个部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    filter

    仅对经过的对象进行观察。 如果没有给出筛选器 — 所有对象都会被观察到

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的Projection类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init<ObjectType: ObjectBase>(_ type: ResultType.Type,
                                        sectionBlock: @escaping ((ResultType) -> Key),
                                        sortDescriptors: [SortDescriptor] = [],
                                        filter: NSPredicate? = nil,
                                        keyPaths: [String]? = nil,
                                        configuration: Realm.Configuration? = nil) where ResultType: Projection<ObjectType>, ObjectType: ThreadConfined

    参数

    type

    观察类型

    sectionBlock

    回调,返回集合中每个对象的部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    filter

    仅对经过的对象进行观察。 如果没有给出筛选器 — 所有对象都会被观察到

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionKeyPath: KeyPath<ResultType, Key>,
                sortDescriptors: [SortDescriptor] = [],
                filter: NSPredicate? = nil,
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionKeyPath

    将为每个部分生成密钥的 keyPath。 对于从 keyPath 检索到的每个唯一值,都会生成一个部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    filter

    仅对经过的对象进行观察。 如果没有给出筛选器 — 所有对象都会被观察到

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionBlock: @escaping ((ResultType) -> Key),
                sortDescriptors: [SortDescriptor] = [],
                filter: NSPredicate? = nil,
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionBlock

    回调,返回集合中每个对象的部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    filter

    仅对经过的对象进行观察。 如果没有给出筛选器 — 所有对象都会被观察到

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionBlock: @escaping ((ResultType) -> Key),
                sortDescriptors: [SortDescriptor] = [],
                where: ((Query<ResultType>) -> Query<Bool>)? = nil,
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionBlock

    回调,返回集合中每个对象的部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    where

    仅对经过的对象进行观察。 如果未给出类型安全查询,则将观察所有对象。

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionKeyPath: KeyPath<ResultType, Key>,
                sortDescriptors: [SortDescriptor] = [],
                where: ((Query<ResultType>) -> Query<Bool>)? = nil,
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionKeyPath

    将为每个部分生成密钥的 keyPath。 对于从 keyPath 检索到的每个唯一值,都会生成一个部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    where

    仅对经过的对象进行观察。 如果未给出类型安全查询,则将观察所有对象。

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionKeyPath: KeyPath<ResultType, Key>,
                sortDescriptors: [SortDescriptor] = [],
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionKeyPath

    将为每个部分生成密钥的 keyPath。 对于从 keyPath 检索到的每个唯一值,都会生成一个部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 为给定的ObjectEmbeddedObject类型初始化ObservedSectionedResults结构体。

    注意

    主排序描述符必须负责确定节键。

    声明

    Swift

    public init(_ type: ResultType.Type,
                sectionBlock: @escaping ((ResultType) -> Key),
                sortDescriptors: [SortDescriptor],
                keyPaths: [String]? = nil,
                configuration: Realm.Configuration? = nil) where ResultType: Object

    参数

    type

    观察类型

    sectionBlock

    回调,返回集合中每个对象的部分键。

    sortDescriptors

    作为排序依据的SortDescriptor序列。

    keyPaths

    只有键路径数组中包含的属性才会被观察到。 如果为nil ,则对象上的任何属性更改都会发送通知。 与有效属性不对应的字符串键路径将引发异常。

    configuration

    创建 Realm 时使用的Realm.Configuration 。 如果为空,则配置设置为defaultConfiguration

  • 声明

    Swift

    nonisolated public func update()