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
参数互斥。 -
从
@ObservedSectionedResults
集合中删除具有给定IndexSet
和ResultsSection
的项目。声明
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
-
为给定的
Object
或EmbeddedObject
类型初始化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
-
为给定的
Object
或EmbeddedObject
类型初始化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
-
为给定的
Object
或EmbeddedObject
类型初始化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
-
为给定的
Object
或EmbeddedObject
类型初始化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
-
为给定的
Object
或EmbeddedObject
类型初始化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
-
为给定的
Object
或EmbeddedObject
类型初始化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()