SectionBy

public struct SectionBy<O> where O : DynamicObject
extension SectionBy: CustomDebugStringConvertible, CoreStoreDebugStringConvertible

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 index title:

let monitor = dataStack.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 index title

    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 index title

CustomDebugStringConvertible

  • Declaration

    Swift

    public var debugDescription: String { get }

Available where O: NSManagedObject

  • Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    Declaration

    Swift

    public init<T>(_ sectionKeyPath: KeyPath<O, 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 index title

    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<O, 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 index title

Available where O: CoreStoreObject

  • Initializes a SectionBy clause with the key path to use to group ListMonitor objects into sections

    Declaration

    Swift

    public init<T>(_ sectionKeyPath: KeyPath<O, FieldContainer<O>.Stored<T>>) where T : FieldStorableType

    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<O, FieldContainer<O>.Virtual<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

    Declaration

    Swift

    public init<T>(_ sectionKeyPath: KeyPath<O, FieldContainer<O>.Coded<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

    Declaration

    Swift

    public init<T>(_ sectionKeyPath: KeyPath<O, ValueContainer<O>.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<O, ValueContainer<O>.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<O, TransformableContainer<O>.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<O, TransformableContainer<O>.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 index title

    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<O, ValueContainer<O>.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 index title

  • 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 index title

    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<O, FieldContainer<O>.Stored<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 index title

  • 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 index title

    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<O, FieldContainer<O>.Virtual<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 index title

  • 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 index title

    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<O, FieldContainer<O>.Coded<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 index title

  • 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 index title

    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<O, ValueContainer<O>.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 index title

  • 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 index title

    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<O, TransformableContainer<O>.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 index title

  • 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 index title

    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<O, TransformableContainer<O>.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 index title