SectionBy
@available(OSX 10.12, *)
public struct SectionBy<D> where D : DynamicObject
The SectionBy
clause indicates the key path to use to group the ListMonitor
objects into sections. An optional closure can also be provided to transform the value into an appropriate section name:
let monitor = CoreStore.monitorSectionedList(
From<Person>(),
SectionBy("age") { "Age \($0)" },
OrderBy(.ascending("lastName"))
)
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init(_ sectionKeyPath: KeyPathString)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init(_ sectionKeyPath: KeyPathString, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name
-
Declaration
Swift
public var debugDescription: String { get }
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, T>)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, T>, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, ValueContainer<D>.Required<T>>) where T : ImportableAttributeType
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, ValueContainer<D>.Optional<T>>) where T : ImportableAttributeType
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, TransformableContainer<D>.Required<T>>) where T : NSCoding, T : NSCopying
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sectionsDeclaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, TransformableContainer<D>.Optional<T>>) where T : NSCoding, T : NSCopying
Parameters
sectionKeyPath
the key path to use to group the objects into sections
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, ValueContainer<D>.Required<T>>, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, ValueContainer<D>.Optional<T>>, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, TransformableContainer<D>.Required<T>>, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name
-
Initializes a
SectionBy
clause with the key path to use to groupListMonitor
objects into sections, and a closure to transform the value for the key path to an appropriate section nameImportant
Some utilities (such asListMonitor
s) may keepSectionBy
s in memory and may thus introduce retain cycles if reference captures are not handled properly.Declaration
Swift
public init<T>(_ sectionKeyPath: KeyPath<D, TransformableContainer<D>.Optional<T>>, _ sectionIndexTransformer: @escaping (_ sectionName: String?) -> String?)
Parameters
sectionKeyPath
the key path to use to group the objects into sections
sectionIndexTransformer
a closure to transform the value for the key path to an appropriate section name