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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections

    Declaration

    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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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 group ListMonitor objects into sections, and a closure to transform the value for the key path to an appropriate section name

    Important

    Some utilities (such as ListMonitors) may keep SectionBys 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