From f9bbbf92f5bac779706f3e39dfcbf069bcd06d0c Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 17:37:11 -0400 Subject: [PATCH 1/9] Documented the init methods of FTD and FCD --- .../FunctionalCollectionData.swift | 21 +++++++++++++------ .../TableView/FunctionalTableData.swift | 14 ++++++++++--- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift index ca6c8f4..0bed218 100644 --- a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift +++ b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift @@ -48,9 +48,10 @@ public class FunctionalCollectionData: NSObject { private let renderAndDiffQueue: OperationQueue private let name: String - /// Index path for the previously selected row. - public var indexPathForPreviouslySelectedRow: IndexPath? - + /// Enclosing `UICollectionView` that presents all the `TableSection` data. + /// + /// `FunctionalCollectionData` will take care of setting its own `UICollectionViewDelegate` and + /// `UICollectionViewDataSource` and manage all the internals of the `UICollectionView` on its own. public var collectionView: UICollectionView? { didSet { guard let collectionView = collectionView else { return } @@ -81,9 +82,17 @@ public class FunctionalCollectionData: NSObject { return renderAndDiffQueue.isSuspended } - public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line) { - self.unitTesting = NSClassFromString("XCTestCase") != nil - self.name = name ?? "FunctionalCollectionDataRenderAndDiff-\((fileName as NSString).lastPathComponent):\(lineNumber)" + /// Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization. + /// + /// - Parameter name: String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen + public init(name: String? = nil) { + if let name = name { + self.name = name + } else { + self.name = "FunctionalCollectionDataRenderAndDiff-\((#file as NSString).lastPathComponent):\(#line)" + } + + unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name renderAndDiffQueue.maxConcurrentOperationCount = 1 diff --git a/FunctionalTableData/TableView/FunctionalTableData.swift b/FunctionalTableData/TableView/FunctionalTableData.swift index a55911d..eaca581 100644 --- a/FunctionalTableData/TableView/FunctionalTableData.swift +++ b/FunctionalTableData/TableView/FunctionalTableData.swift @@ -128,9 +128,17 @@ public class FunctionalTableData: NSObject { return renderAndDiffQueue.isSuspended } - public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line) { - self.unitTesting = NSClassFromString("XCTestCase") != nil - self.name = name ?? "FunctionalTableDataRenderAndDiff-\((fileName as NSString).lastPathComponent):\(lineNumber)" + /// Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization. + /// + /// - Parameter name: String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen + public init(name: String? = nil) { + if let name = name { + self.name = name + } else { + self.name = "FunctionalTableDataRenderAndDiff-\((#file as NSString).lastPathComponent):\(#line)" + } + + unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name renderAndDiffQueue.maxConcurrentOperationCount = 1 From 9d110fa4ca7617c3ff99f0022c35ad821a91ff94 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 17:42:46 -0400 Subject: [PATCH 2/9] Organized the examples for easier navigation --- FunctionalTableData.xcodeproj/project.pbxproj | 36 +++++++++++++++--- .../{ => Cells}/LabelCell.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../collection.imageset/Contents.json | 0 .../collection.imageset/keypad.pdf | Bin .../table.imageset/Contents.json | 0 .../Assets.xcassets/table.imageset/list.pdf | Bin .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../CollectionExampleController.swift | 0 .../TableExampleController.swift | 0 12 files changed, 30 insertions(+), 6 deletions(-) rename FunctionalTableDataDemo/{ => Cells}/LabelCell.swift (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/Contents.json (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/collection.imageset/Contents.json (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/collection.imageset/keypad.pdf (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/table.imageset/Contents.json (100%) rename FunctionalTableDataDemo/{ => Resources}/Assets.xcassets/table.imageset/list.pdf (100%) rename FunctionalTableDataDemo/{ => Resources}/Base.lproj/LaunchScreen.storyboard (100%) rename FunctionalTableDataDemo/{ => Resources}/Base.lproj/Main.storyboard (100%) rename FunctionalTableDataDemo/{ => View Controllers}/CollectionExampleController.swift (100%) rename FunctionalTableDataDemo/{ => View Controllers}/TableExampleController.swift (100%) diff --git a/FunctionalTableData.xcodeproj/project.pbxproj b/FunctionalTableData.xcodeproj/project.pbxproj index 2325363..ed8f657 100644 --- a/FunctionalTableData.xcodeproj/project.pbxproj +++ b/FunctionalTableData.xcodeproj/project.pbxproj @@ -148,14 +148,11 @@ 17E57FE7208A404700BFCC3D /* FunctionalTableDataDemo */ = { isa = PBXGroup; children = ( - 17E57FFF208A425F00BFCC3D /* LabelCell.swift */, 17E57FE8208A404700BFCC3D /* AppDelegate.swift */, - 17E57FEA208A404700BFCC3D /* TableExampleController.swift */, - 17E57FEC208A404700BFCC3D /* CollectionExampleController.swift */, - 17E57FEE208A404700BFCC3D /* Main.storyboard */, - 17E57FF1208A404800BFCC3D /* Assets.xcassets */, - 17E57FF3208A404800BFCC3D /* LaunchScreen.storyboard */, 17E57FF6208A404800BFCC3D /* Info.plist */, + 4CCFDFF520B2230E00584343 /* Cells */, + 4CCFDFF620B2231500584343 /* View Controllers */, + 4CCFDFF420B2230200584343 /* Resources */, ); path = FunctionalTableDataDemo; sourceTree = ""; @@ -254,6 +251,33 @@ path = TableView; sourceTree = ""; }; + 4CCFDFF420B2230200584343 /* Resources */ = { + isa = PBXGroup; + children = ( + 17E57FF1208A404800BFCC3D /* Assets.xcassets */, + 17E57FF3208A404800BFCC3D /* LaunchScreen.storyboard */, + 17E57FEE208A404700BFCC3D /* Main.storyboard */, + ); + path = Resources; + sourceTree = ""; + }; + 4CCFDFF520B2230E00584343 /* Cells */ = { + isa = PBXGroup; + children = ( + 17E57FFF208A425F00BFCC3D /* LabelCell.swift */, + ); + path = Cells; + sourceTree = ""; + }; + 4CCFDFF620B2231500584343 /* View Controllers */ = { + isa = PBXGroup; + children = ( + 17E57FEC208A404700BFCC3D /* CollectionExampleController.swift */, + 17E57FEA208A404700BFCC3D /* TableExampleController.swift */, + ); + path = "View Controllers"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ diff --git a/FunctionalTableDataDemo/LabelCell.swift b/FunctionalTableDataDemo/Cells/LabelCell.swift similarity index 100% rename from FunctionalTableDataDemo/LabelCell.swift rename to FunctionalTableDataDemo/Cells/LabelCell.swift diff --git a/FunctionalTableDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/FunctionalTableDataDemo/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/AppIcon.appiconset/Contents.json rename to FunctionalTableDataDemo/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/FunctionalTableDataDemo/Assets.xcassets/Contents.json b/FunctionalTableDataDemo/Resources/Assets.xcassets/Contents.json similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/Contents.json rename to FunctionalTableDataDemo/Resources/Assets.xcassets/Contents.json diff --git a/FunctionalTableDataDemo/Assets.xcassets/collection.imageset/Contents.json b/FunctionalTableDataDemo/Resources/Assets.xcassets/collection.imageset/Contents.json similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/collection.imageset/Contents.json rename to FunctionalTableDataDemo/Resources/Assets.xcassets/collection.imageset/Contents.json diff --git a/FunctionalTableDataDemo/Assets.xcassets/collection.imageset/keypad.pdf b/FunctionalTableDataDemo/Resources/Assets.xcassets/collection.imageset/keypad.pdf similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/collection.imageset/keypad.pdf rename to FunctionalTableDataDemo/Resources/Assets.xcassets/collection.imageset/keypad.pdf diff --git a/FunctionalTableDataDemo/Assets.xcassets/table.imageset/Contents.json b/FunctionalTableDataDemo/Resources/Assets.xcassets/table.imageset/Contents.json similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/table.imageset/Contents.json rename to FunctionalTableDataDemo/Resources/Assets.xcassets/table.imageset/Contents.json diff --git a/FunctionalTableDataDemo/Assets.xcassets/table.imageset/list.pdf b/FunctionalTableDataDemo/Resources/Assets.xcassets/table.imageset/list.pdf similarity index 100% rename from FunctionalTableDataDemo/Assets.xcassets/table.imageset/list.pdf rename to FunctionalTableDataDemo/Resources/Assets.xcassets/table.imageset/list.pdf diff --git a/FunctionalTableDataDemo/Base.lproj/LaunchScreen.storyboard b/FunctionalTableDataDemo/Resources/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from FunctionalTableDataDemo/Base.lproj/LaunchScreen.storyboard rename to FunctionalTableDataDemo/Resources/Base.lproj/LaunchScreen.storyboard diff --git a/FunctionalTableDataDemo/Base.lproj/Main.storyboard b/FunctionalTableDataDemo/Resources/Base.lproj/Main.storyboard similarity index 100% rename from FunctionalTableDataDemo/Base.lproj/Main.storyboard rename to FunctionalTableDataDemo/Resources/Base.lproj/Main.storyboard diff --git a/FunctionalTableDataDemo/CollectionExampleController.swift b/FunctionalTableDataDemo/View Controllers/CollectionExampleController.swift similarity index 100% rename from FunctionalTableDataDemo/CollectionExampleController.swift rename to FunctionalTableDataDemo/View Controllers/CollectionExampleController.swift diff --git a/FunctionalTableDataDemo/TableExampleController.swift b/FunctionalTableDataDemo/View Controllers/TableExampleController.swift similarity index 100% rename from FunctionalTableDataDemo/TableExampleController.swift rename to FunctionalTableDataDemo/View Controllers/TableExampleController.swift From b56f96623c72597c107bb87f3ac510afb73bfb3f Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 17:44:18 -0400 Subject: [PATCH 3/9] Generated docs --- docs/Classes.html | 6 +- docs/Classes/FunctionalCollectionData.html | 86 +++++++-- .../FunctionalCollectionData/KeyPath.html | 2 +- docs/Classes/FunctionalTableData.html | 71 ++++++-- docs/Classes/FunctionalTableData/KeyPath.html | 2 +- docs/Classes/Separator.html | 2 +- docs/Extensions.html | 2 +- docs/Extensions/UICollectionView.html | 8 +- docs/Extensions/UITableView.html | 8 +- docs/Extensions/UIView.html | 2 +- docs/Protocols.html | 2 +- docs/Protocols/CellConfigType.html | 2 +- .../FunctionalTableDataExceptionHandler.html | 2 +- docs/Protocols/Reusable.html | 2 +- docs/Protocols/TableSectionType.html | 2 +- docs/Structs.html | 2 +- docs/Structs/CellActions.html | 2 +- docs/Structs/CellStyle.html | 2 +- docs/Structs/HostCell.html | 2 +- docs/Structs/TableSection.html | 2 +- .../Contents/Resources/Documents/Classes.html | 6 +- .../Classes/FunctionalCollectionData.html | 86 +++++++-- .../FunctionalCollectionData/KeyPath.html | 2 +- .../Classes/FunctionalTableData.html | 71 ++++++-- .../Classes/FunctionalTableData/KeyPath.html | 2 +- .../Documents/Classes/Separator.html | 2 +- .../Resources/Documents/Extensions.html | 2 +- .../Extensions/UICollectionView.html | 8 +- .../Documents/Extensions/UITableView.html | 8 +- .../Documents/Extensions/UIView.html | 2 +- .../Resources/Documents/Protocols.html | 2 +- .../Documents/Protocols/CellConfigType.html | 2 +- .../FunctionalTableDataExceptionHandler.html | 2 +- .../Documents/Protocols/Reusable.html | 2 +- .../Documents/Protocols/TableSectionType.html | 2 +- .../Contents/Resources/Documents/Structs.html | 2 +- .../Documents/Structs/CellActions.html | 2 +- .../Documents/Structs/CellStyle.html | 2 +- .../Resources/Documents/Structs/HostCell.html | 2 +- .../Documents/Structs/TableSection.html | 2 +- .../Contents/Resources/Documents/index.html | 2 +- .../Contents/Resources/Documents/search.json | 2 +- .../Resources/Documents/undocumented.json | 67 ++++++- .../.docset/Contents/Resources/docSet.dsidx | Bin 45056 -> 45056 bytes docs/docsets/.tgz | Bin 102271 -> 102966 bytes docs/index.html | 2 +- docs/search.json | 2 +- docs/undocumented.json | 171 ++++++++---------- 48 files changed, 447 insertions(+), 217 deletions(-) diff --git a/docs/Classes.html b/docs/Classes.html index 4f87698..177cd17 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -151,7 +151,7 @@

Declaration

@@ -227,7 +227,7 @@

Declaration

@@ -237,7 +237,7 @@

Declaration

diff --git a/docs/Classes/FunctionalCollectionData.html b/docs/Classes/FunctionalCollectionData.html index 459a991..01b51b9 100644 --- a/docs/Classes/FunctionalCollectionData.html +++ b/docs/Classes/FunctionalCollectionData.html @@ -198,9 +198,9 @@

Declaration

  • @@ -208,19 +208,22 @@

    Declaration

    -

    Index path for the previously selected row.

    +

    Enclosing UICollectionView that presents all the TableSection data.

    + +

    FunctionalCollectionData will take care of setting its own UICollectionViewDelegate and +UICollectionViewDataSource and manage all the internals of the UICollectionView on its own.

    Declaration

    Swift

    -
    public var indexPathForPreviouslySelectedRow: IndexPath?
    +
    public var collectionView: UICollectionView? { get set }
    @@ -250,7 +253,56 @@

    Declaration

    + + +
  • +
  • +
    + + + + init(name:) + +
    +
    +
    +
    +
    +
    +

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + name + + +
    +

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen

    +
    +
    +
    +
    @@ -303,7 +355,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -356,7 +408,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -412,7 +464,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -498,7 +550,7 @@

    Parameters

    @@ -571,7 +623,7 @@

    Parameters

    @@ -656,7 +708,7 @@

    Parameters

    @@ -729,7 +781,7 @@

    Parameters

    @@ -781,7 +833,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -825,7 +877,7 @@

    Declaration

    @@ -835,7 +887,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalCollectionData/KeyPath.html b/docs/Classes/FunctionalCollectionData/KeyPath.html index 5a2c68d..ec5a69e 100644 --- a/docs/Classes/FunctionalCollectionData/KeyPath.html +++ b/docs/Classes/FunctionalCollectionData/KeyPath.html @@ -226,7 +226,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalTableData.html b/docs/Classes/FunctionalTableData.html index c3578c5..61f7737 100644 --- a/docs/Classes/FunctionalTableData.html +++ b/docs/Classes/FunctionalTableData.html @@ -318,6 +318,55 @@

    Declaration

  • +
  • +
    + + + + init(name:) + +
    +
    +
    +
    +
    +
    +

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + name + + +
    +

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen

    +
    +
    +
    + +
    +
    +
  • @@ -366,7 +415,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -419,7 +468,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -475,7 +524,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -528,7 +577,7 @@

    Return Value

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    @@ -626,7 +675,7 @@

    Parameters

    @@ -711,7 +760,7 @@

    Parameters

    @@ -784,7 +833,7 @@

    Parameters

    @@ -857,7 +906,7 @@

    Parameters

    @@ -909,7 +958,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -953,7 +1002,7 @@

    Declaration

    @@ -963,7 +1012,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalTableData/KeyPath.html b/docs/Classes/FunctionalTableData/KeyPath.html index a20e41c..6ba97e6 100644 --- a/docs/Classes/FunctionalTableData/KeyPath.html +++ b/docs/Classes/FunctionalTableData/KeyPath.html @@ -197,7 +197,7 @@

    Declaration

    diff --git a/docs/Classes/Separator.html b/docs/Classes/Separator.html index 958d201..4b2cdcb 100644 --- a/docs/Classes/Separator.html +++ b/docs/Classes/Separator.html @@ -230,7 +230,7 @@

    Declaration

    diff --git a/docs/Extensions.html b/docs/Extensions.html index ce2e60b..f17403a 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -217,7 +217,7 @@

    Declaration

    diff --git a/docs/Extensions/UICollectionView.html b/docs/Extensions/UICollectionView.html index 937bb34..3afb6f6 100644 --- a/docs/Extensions/UICollectionView.html +++ b/docs/Extensions/UICollectionView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    @@ -267,7 +267,7 @@

    Return Value

    diff --git a/docs/Extensions/UITableView.html b/docs/Extensions/UITableView.html index afc6e02..f5f023c 100644 --- a/docs/Extensions/UITableView.html +++ b/docs/Extensions/UITableView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UITableView or nil if it could not be found.

    @@ -267,7 +267,7 @@

    Return Value

    diff --git a/docs/Extensions/UIView.html b/docs/Extensions/UIView.html index 3ce2506..f86f6b4 100644 --- a/docs/Extensions/UIView.html +++ b/docs/Extensions/UIView.html @@ -304,7 +304,7 @@

    Parameters

    diff --git a/docs/Protocols.html b/docs/Protocols.html index c872008..8ba5ccb 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -270,7 +270,7 @@

    Declaration

    diff --git a/docs/Protocols/CellConfigType.html b/docs/Protocols/CellConfigType.html index 92c5cbb..d1d66de 100644 --- a/docs/Protocols/CellConfigType.html +++ b/docs/Protocols/CellConfigType.html @@ -407,7 +407,7 @@

    Return Value

    diff --git a/docs/Protocols/FunctionalTableDataExceptionHandler.html b/docs/Protocols/FunctionalTableDataExceptionHandler.html index 236553b..13e7575 100644 --- a/docs/Protocols/FunctionalTableDataExceptionHandler.html +++ b/docs/Protocols/FunctionalTableDataExceptionHandler.html @@ -184,7 +184,7 @@

    Parameters

    diff --git a/docs/Protocols/Reusable.html b/docs/Protocols/Reusable.html index f7dcebe..2a92a6b 100644 --- a/docs/Protocols/Reusable.html +++ b/docs/Protocols/Reusable.html @@ -171,7 +171,7 @@

    Declaration

    diff --git a/docs/Protocols/TableSectionType.html b/docs/Protocols/TableSectionType.html index a5eb7fd..47788bd 100644 --- a/docs/Protocols/TableSectionType.html +++ b/docs/Protocols/TableSectionType.html @@ -284,7 +284,7 @@

    Declaration

    diff --git a/docs/Structs.html b/docs/Structs.html index dc48b9e..571e9fb 100644 --- a/docs/Structs.html +++ b/docs/Structs.html @@ -269,7 +269,7 @@

    Declaration

    diff --git a/docs/Structs/CellActions.html b/docs/Structs/CellActions.html index 56a8371..d09da7e 100644 --- a/docs/Structs/CellActions.html +++ b/docs/Structs/CellActions.html @@ -482,7 +482,7 @@

    Declaration

    diff --git a/docs/Structs/CellStyle.html b/docs/Structs/CellStyle.html index 248993c..89742c5 100644 --- a/docs/Structs/CellStyle.html +++ b/docs/Structs/CellStyle.html @@ -510,7 +510,7 @@

    Declaration

    diff --git a/docs/Structs/HostCell.html b/docs/Structs/HostCell.html index 9c1318d..e4c46ab 100644 --- a/docs/Structs/HostCell.html +++ b/docs/Structs/HostCell.html @@ -619,7 +619,7 @@

    Declaration

    diff --git a/docs/Structs/TableSection.html b/docs/Structs/TableSection.html index f374906..1411b4e 100644 --- a/docs/Structs/TableSection.html +++ b/docs/Structs/TableSection.html @@ -505,7 +505,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html index 4f87698..177cd17 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -151,7 +151,7 @@

    Declaration

    @@ -227,7 +227,7 @@

    Declaration

    @@ -237,7 +237,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html index 459a991..01b51b9 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html @@ -198,9 +198,9 @@

    Declaration

  • @@ -208,19 +208,22 @@

    Declaration

    -

    Index path for the previously selected row.

    +

    Enclosing UICollectionView that presents all the TableSection data.

    + +

    FunctionalCollectionData will take care of setting its own UICollectionViewDelegate and +UICollectionViewDataSource and manage all the internals of the UICollectionView on its own.

    Declaration

    Swift

    -
    public var indexPathForPreviouslySelectedRow: IndexPath?
    +
    public var collectionView: UICollectionView? { get set }
    @@ -250,7 +253,56 @@

    Declaration

    + + +
  • +
  • +
    + + + + init(name:) + +
    +
    +
    +
    +
    +
    +

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + name + + +
    +

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen

    +
    +
    +
    +
    @@ -303,7 +355,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -356,7 +408,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -412,7 +464,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -498,7 +550,7 @@

    Parameters

    @@ -571,7 +623,7 @@

    Parameters

    @@ -656,7 +708,7 @@

    Parameters

    @@ -729,7 +781,7 @@

    Parameters

    @@ -781,7 +833,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -825,7 +877,7 @@

    Declaration

    @@ -835,7 +887,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html index 5a2c68d..ec5a69e 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html @@ -226,7 +226,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html index c3578c5..61f7737 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html @@ -318,6 +318,55 @@

    Declaration

  • +
  • +
    + + + + init(name:) + +
    +
    +
    +
    +
    +
    +

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + name + + +
    +

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen

    +
    +
    +
    + +
    +
    +
  • @@ -366,7 +415,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -419,7 +468,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -475,7 +524,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -528,7 +577,7 @@

    Return Value

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    @@ -626,7 +675,7 @@

    Parameters

    @@ -711,7 +760,7 @@

    Parameters

    @@ -784,7 +833,7 @@

    Parameters

    @@ -857,7 +906,7 @@

    Parameters

    @@ -909,7 +958,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -953,7 +1002,7 @@

    Declaration

    @@ -963,7 +1012,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html index a20e41c..6ba97e6 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html @@ -197,7 +197,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html index 958d201..4b2cdcb 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html @@ -230,7 +230,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html index ce2e60b..f17403a 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -217,7 +217,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html index 937bb34..3afb6f6 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    @@ -267,7 +267,7 @@

    Return Value

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html index afc6e02..f5f023c 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UITableView or nil if it could not be found.

    @@ -267,7 +267,7 @@

    Return Value

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html index 3ce2506..f86f6b4 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html @@ -304,7 +304,7 @@

    Parameters

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html index c872008..8ba5ccb 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -270,7 +270,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html index 92c5cbb..d1d66de 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html @@ -407,7 +407,7 @@

    Return Value

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html index 236553b..13e7575 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html @@ -184,7 +184,7 @@

    Parameters

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html index f7dcebe..2a92a6b 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html @@ -171,7 +171,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html index a5eb7fd..47788bd 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html @@ -284,7 +284,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html index dc48b9e..571e9fb 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Structs.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -269,7 +269,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html index 56a8371..d09da7e 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html @@ -482,7 +482,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html index 248993c..89742c5 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html @@ -510,7 +510,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html index 9c1318d..e4c46ab 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html @@ -619,7 +619,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html index f374906..1411b4e 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html @@ -505,7 +505,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/index.html b/docs/docsets/.docset/Contents/Resources/Documents/index.html index 2718b2b..f254fca 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/index.html @@ -254,7 +254,7 @@

    License

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/search.json b/docs/docsets/.docset/Contents/Resources/Documents/search.json index 69e6137..a39ee20 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C33indexPathForPreviouslySelectedRow10Foundation05IndexF0VSgvp":{"name":"indexPathForPreviouslySelectedRow","abstract":"

    Index path for the previously selected row.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json index 53d3eb9..f48b0c5 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json @@ -450,29 +450,78 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 11, - "symbol": "Separator", - "symbol_kind": "source.lang.swift.decl.class", + "line": 26, + "symbol": "Separator.Style.full", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 27, + "symbol": "Separator.Style.inset", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 28, + "symbol": "Separator.Style.moreInset", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 30, + "symbol": "Separator.Style.insetDistance", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 45, + "symbol": "Separator.Tag.top", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 46, + "symbol": "Separator.Tag.bottom", + "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 79, - "symbol": "UIView.applyTopSeparator(_:color:)", + "line": 55, + "symbol": "Separator.init(style:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 90, - "symbol": "UIView.applyBottomSeparator(_:color:)", + "line": 60, + "symbol": "Separator.init(coder:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 101, - "symbol": "UIView.removeSeparator(_:)", + "line": 64, + "symbol": "Separator.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 68, + "symbol": "Separator.constrainToTopOfView(_:constant:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", + "line": 73, + "symbol": "Separator.constrainToBottomOfView(_:constant:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, diff --git a/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/docsets/.docset/Contents/Resources/docSet.dsidx index 5217f5fb1736a5be0528b614f11a0f44c766e271..9455dd9ab58b928457b8355c9ad0e00440cd3e6d 100644 GIT binary patch delta 1557 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 Z{yEW)hQttjou7Z|zpvZyg`q)^0RSNJ{LcUY delta 99450 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 diff --git a/docs/index.html b/docs/index.html index 2718b2b..f254fca 100644 --- a/docs/index.html +++ b/docs/index.html @@ -254,7 +254,7 @@

    License

    diff --git a/docs/search.json b/docs/search.json index 69e6137..a39ee20 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C33indexPathForPreviouslySelectedRow10Foundation05IndexF0VSgvp":{"name":"indexPathForPreviouslySelectedRow","abstract":"

    Index path for the previously selected row.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index f48b0c5..d669dbf 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -121,273 +121,259 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 54, - "symbol": "FunctionalCollectionData.collectionView", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 62, + "line": 63, "symbol": "FunctionalCollectionData.subscript(_:)", "symbol_kind": "source.lang.swift.decl.function.subscript", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 66, + "line": 67, "symbol": "FunctionalCollectionData.scrollViewDidScroll", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 67, + "line": 68, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 68, + "line": 69, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 69, + "line": 70, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 70, + "line": 71, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 71, + "line": 72, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 72, + "line": 73, "symbol": "FunctionalCollectionData.scrollViewDidChangeContentSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 73, + "line": 74, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 74, + "line": 75, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 75, + "line": 76, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 84, - "symbol": "FunctionalCollectionData.init(name:fileName:lineNumber:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 381, + "line": 390, "symbol": "FunctionalCollectionData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 393, + "line": 402, "symbol": "FunctionalCollectionData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 439, + "line": 448, "symbol": "FunctionalCollectionData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 443, + "line": 452, "symbol": "FunctionalCollectionData.collectionView(_:numberOfItemsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 447, + "line": 456, "symbol": "FunctionalCollectionData.collectionView(_:cellForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 459, + "line": 468, "symbol": "FunctionalCollectionData.collectionView(_:moveItemAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 472, + "line": 481, "symbol": "FunctionalCollectionData.collectionView(_:shouldSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 477, + "line": 486, "symbol": "FunctionalCollectionData.collectionView(_:shouldHighlightItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 481, + "line": 490, "symbol": "FunctionalCollectionData.collectionView(_:didSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 493, + "line": 502, "symbol": "FunctionalCollectionData.collectionView(_:didDeselectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 505, + "line": 514, "symbol": "FunctionalCollectionData.collectionView(_:willDisplay:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 514, + "line": 523, "symbol": "FunctionalCollectionData.collectionView(_:didEndDisplaying:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 521, + "line": 530, "symbol": "FunctionalCollectionData.collectionView(_:shouldShowMenuForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 525, + "line": 534, "symbol": "FunctionalCollectionData.collectionView(_:canPerformAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 529, + "line": 538, "symbol": "FunctionalCollectionData.collectionView(_:performAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 533, + "line": 542, "symbol": "FunctionalCollectionData.collectionView(_:canMoveItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 537, + "line": 546, "symbol": "FunctionalCollectionData.collectionView(_:targetIndexPathForMoveFromItemAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 550, + "line": 559, "symbol": "FunctionalCollectionData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 554, + "line": 563, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 558, + "line": 567, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 562, + "line": 571, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 566, + "line": 575, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 570, + "line": 579, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 574, + "line": 583, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 578, + "line": 587, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 582, + "line": 591, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" @@ -814,273 +800,266 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 131, - "symbol": "FunctionalTableData.init(name:fileName:lineNumber:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 203, + "line": 211, "symbol": "FunctionalTableData.renderAndDiff(_:keyPath:reloadList:animated:animations:completion:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 459, + "line": 467, "symbol": "FunctionalTableData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 471, + "line": 479, "symbol": "FunctionalTableData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 531, + "line": 539, "symbol": "FunctionalTableData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 535, + "line": 543, "symbol": "FunctionalTableData.tableView(_:numberOfRowsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 539, + "line": 547, "symbol": "FunctionalTableData.tableView(_:cellForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 551, + "line": 559, "symbol": "FunctionalTableData.tableView(_:moveRowAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 564, + "line": 572, "symbol": "FunctionalTableData.tableView(_:heightForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 572, + "line": 580, "symbol": "FunctionalTableData.tableView(_:heightForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 580, + "line": 588, "symbol": "FunctionalTableData.tableView(_:estimatedHeightForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 589, + "line": 597, "symbol": "FunctionalTableData.tableView(_:viewForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 594, + "line": 602, "symbol": "FunctionalTableData.tableView(_:viewForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 599, + "line": 607, "symbol": "FunctionalTableData.tableView(_:shouldHighlightRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 604, + "line": 612, "symbol": "FunctionalTableData.tableView(_:willSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 647, + "line": 655, "symbol": "FunctionalTableData.tableView(_:didSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 659, + "line": 667, "symbol": "FunctionalTableData.tableView(_:didDeselectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 671, + "line": 679, "symbol": "FunctionalTableData.tableView(_:willDisplay:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 684, + "line": 692, "symbol": "FunctionalTableData.tableView(_:didEndDisplaying:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 691, + "line": 699, "symbol": "FunctionalTableData.tableView(_:willDisplayHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 696, + "line": 704, "symbol": "FunctionalTableData.tableView(_:didEndDisplayingHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 702, + "line": 710, "symbol": "FunctionalTableData.tableView(_:shouldShowMenuForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 707, + "line": 715, "symbol": "FunctionalTableData.tableView(_:canPerformAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 712, + "line": 720, "symbol": "FunctionalTableData.tableView(_:performAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 716, + "line": 724, "symbol": "FunctionalTableData.tableView(_:editingStyleForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 721, + "line": 729, "symbol": "FunctionalTableData.tableView(_:shouldIndentWhileEditingRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 725, + "line": 733, "symbol": "FunctionalTableData.tableView(_:canMoveRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 729, + "line": 737, "symbol": "FunctionalTableData.tableView(_:targetIndexPathForMoveFromRowAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 733, + "line": 741, "symbol": "FunctionalTableData.tableView(_:canEditRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 738, + "line": 746, "symbol": "FunctionalTableData.tableView(_:editActionsForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 752, + "line": 760, "symbol": "FunctionalTableData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 756, + "line": 764, "symbol": "FunctionalTableData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 760, + "line": 768, "symbol": "FunctionalTableData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 764, + "line": 772, "symbol": "FunctionalTableData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 768, + "line": 776, "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 772, + "line": 780, "symbol": "FunctionalTableData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 776, + "line": 784, "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 780, + "line": 788, "symbol": "FunctionalTableData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 784, + "line": 792, "symbol": "FunctionalTableData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" From 3f568056fe8f7b979531f79bc2fcd6181f26cf93 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 21:41:35 -0400 Subject: [PATCH 4/9] Use unique identifiers instead --- .../CollectionView/FunctionalCollectionData.swift | 7 +------ FunctionalTableData/TableView/FunctionalTableData.swift | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift index 0bed218..4e91816 100644 --- a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift +++ b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift @@ -86,12 +86,7 @@ public class FunctionalCollectionData: NSObject { /// /// - Parameter name: String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen public init(name: String? = nil) { - if let name = name { - self.name = name - } else { - self.name = "FunctionalCollectionDataRenderAndDiff-\((#file as NSString).lastPathComponent):\(#line)" - } - + self.name = name ?? "FunctionalCollectionDataRenderAndDiff-\(UUID().uuidString)" unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name diff --git a/FunctionalTableData/TableView/FunctionalTableData.swift b/FunctionalTableData/TableView/FunctionalTableData.swift index eaca581..bc2e01b 100644 --- a/FunctionalTableData/TableView/FunctionalTableData.swift +++ b/FunctionalTableData/TableView/FunctionalTableData.swift @@ -132,12 +132,7 @@ public class FunctionalTableData: NSObject { /// /// - Parameter name: String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen public init(name: String? = nil) { - if let name = name { - self.name = name - } else { - self.name = "FunctionalTableDataRenderAndDiff-\((#file as NSString).lastPathComponent):\(#line)" - } - + self.name = name ?? "FunctionalTableDataRenderAndDiff-\(UUID().uuidString)" unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name From a11697d6899095fc4d5f58b5f88dcf1ad7a2ae72 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 21:54:42 -0400 Subject: [PATCH 5/9] Documented the scrollview delegates --- .../FunctionalCollectionData.swift | 16 +++++++++++++++- .../TableView/FunctionalTableData.swift | 12 +++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift index 4e91816..f1de8a8 100644 --- a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift +++ b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift @@ -64,15 +64,25 @@ public class FunctionalCollectionData: NSObject { return sections[indexPath] } + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619392-scrollviewdidscroll) for more information. public var scrollViewDidScroll: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619394-scrollviewwillbegindragging) for more information. public var scrollViewWillBeginDragging: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619385-scrollviewwillenddragging) for more information. public var scrollViewWillEndDragging: ((_ scrollView: UIScrollView, _ velocity: CGPoint, _ targetContentOffset: UnsafeMutablePointer) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619436-scrollviewdidenddragging) for more information. public var scrollViewDidEndDragging: ((_ scrollView: UIScrollView, _ decelerate: Bool) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619386-scrollviewwillbegindecelerating) for more information. public var scrollViewWillBeginDecelerating: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619417-scrollviewdidenddecelerating) for more information. public var scrollViewDidEndDecelerating: ((_ scrollView: UIScrollView) -> Void)? + /// Tells the delegate that the scroll view has changed its content size. public var scrollViewDidChangeContentSize: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619379-scrollviewdidendscrollinganimati) for more information. public var scrollViewDidEndScrollingAnimation: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619378-scrollviewshouldscrolltotop) for more information. public var scrollViewShouldScrollToTop: ((_ scrollView: UIScrollView) -> Bool)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619382-scrollviewdidscrolltotop) for more information. public var scrollViewDidScrollToTop: ((_ scrollView: UIScrollView) -> Void)? private let unitTesting: Bool @@ -373,7 +383,7 @@ public class FunctionalCollectionData: NSObject { } /// - Parameter point: The point in the collection view’s bounds that you want to test. - /// - Returns: the keypath of the item at the specified point, or `nil` if no item was found at that point. + /// - Returns: The keypath of the item at the specified point, or `nil` if no item was found at that point. public func keyPath(at point: CGPoint) -> KeyPath? { guard let indexPath = collectionView?.indexPathForItem(at: point) else { return nil @@ -382,6 +392,10 @@ public class FunctionalCollectionData: NSObject { return keyPathForIndexPath(indexPath: indexPath) } + /// Returns the IndexPath corresponding to the provided KeyPath. + /// + /// - Parameter keyPath: The path representing the desired indexPath. + /// - Returns: The IndexPath of the item at the provided keyPath. public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath? { if let sectionIndex = sections.index(where: { $0.key == keyPath.sectionKey }), let rowIndex = sections[sectionIndex].rows.index(where: { $0.key == keyPath.rowKey }) { return IndexPath(item: rowIndex, section: sectionIndex) diff --git a/FunctionalTableData/TableView/FunctionalTableData.swift b/FunctionalTableData/TableView/FunctionalTableData.swift index bc2e01b..28db73e 100644 --- a/FunctionalTableData/TableView/FunctionalTableData.swift +++ b/FunctionalTableData/TableView/FunctionalTableData.swift @@ -84,17 +84,27 @@ public class FunctionalTableData: NSObject { return sections[indexPath] } + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619392-scrollviewdidscroll) for more information. public var scrollViewDidScroll: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619394-scrollviewwillbegindragging) for more information. public var scrollViewWillBeginDragging: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619385-scrollviewwillenddragging) for more information. public var scrollViewWillEndDragging: ((_ scrollView: UIScrollView, _ velocity: CGPoint, _ targetContentOffset: UnsafeMutablePointer) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619436-scrollviewdidenddragging) for more information. public var scrollViewDidEndDragging: ((_ scrollView: UIScrollView, _ decelerate: Bool) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619386-scrollviewwillbegindecelerating) for more information. public var scrollViewWillBeginDecelerating: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619417-scrollviewdidenddecelerating) for more information. public var scrollViewDidEndDecelerating: ((_ scrollView: UIScrollView) -> Void)? + /// Tells the delegate that the scroll view has changed its content size. public var scrollViewDidChangeContentSize: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619379-scrollviewdidendscrollinganimati) for more information. public var scrollViewDidEndScrollingAnimation: ((_ scrollView: UIScrollView) -> Void)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619378-scrollviewshouldscrolltotop) for more information. public var scrollViewShouldScrollToTop: ((_ scrollView: UIScrollView) -> Bool)? + /// See UIScrollView's [documentation](https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619382-scrollviewdidscrolltotop) for more information. public var scrollViewDidScrollToTop: ((_ scrollView: UIScrollView) -> Void)? - + /// The type of animation when rows and sections are inserted or deleted. public struct TableAnimations { public struct Actions { From 7badf0ccc749113ad6c3ecd6f53a6576cc31755d Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 21:59:20 -0400 Subject: [PATCH 6/9] Generated docs --- docs/Classes.html | 4 +- docs/Classes/FunctionalCollectionData.html | 377 +++++++++++++++++- docs/Classes/FunctionalTableData.html | 326 ++++++++++++++- docs/Extensions/UICollectionView.html | 6 +- docs/Extensions/UITableView.html | 6 +- .../Contents/Resources/Documents/Classes.html | 4 +- .../Classes/FunctionalCollectionData.html | 377 +++++++++++++++++- .../Classes/FunctionalTableData.html | 326 ++++++++++++++- .../Extensions/UICollectionView.html | 6 +- .../Documents/Extensions/UITableView.html | 6 +- .../Contents/Resources/Documents/search.json | 2 +- .../Resources/Documents/undocumented.json | 171 ++++---- .../.docset/Contents/Resources/docSet.dsidx | Bin 45056 -> 53248 bytes docs/docsets/.tgz | Bin 102966 -> 106411 bytes docs/search.json | 2 +- docs/undocumented.json | 279 +++---------- 16 files changed, 1515 insertions(+), 377 deletions(-) diff --git a/docs/Classes.html b/docs/Classes.html index 177cd17..babc873 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -151,7 +151,7 @@

    Declaration

    @@ -227,7 +227,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalCollectionData.html b/docs/Classes/FunctionalCollectionData.html index 01b51b9..d72d1fa 100644 --- a/docs/Classes/FunctionalCollectionData.html +++ b/docs/Classes/FunctionalCollectionData.html @@ -228,6 +228,306 @@

    Declaration

  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Tells the delegate that the scroll view has changed its content size.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • @@ -253,7 +553,7 @@

    Declaration

    @@ -302,7 +602,7 @@

    Parameters

    @@ -355,7 +655,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -408,7 +708,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -464,7 +764,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -550,7 +850,7 @@

    Parameters

    @@ -623,7 +923,7 @@

    Parameters

    @@ -708,7 +1008,7 @@

    Parameters

    @@ -781,7 +1081,7 @@

    Parameters

    @@ -830,10 +1130,63 @@

    Parameters

    Return Value

    -

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +

    The keypath of the item at the specified point, or nil if no item was found at that point.

    +
    + + + +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the IndexPath corresponding to the provided KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    The path representing the desired indexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the item at the provided keyPath.

    @@ -877,7 +1230,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalTableData.html b/docs/Classes/FunctionalTableData.html index 61f7737..9c4a584 100644 --- a/docs/Classes/FunctionalTableData.html +++ b/docs/Classes/FunctionalTableData.html @@ -258,6 +258,306 @@

    Declaration

  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Tells the delegate that the scroll view has changed its content size.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • @@ -283,7 +583,7 @@

    Declaration

    @@ -313,7 +613,7 @@

    Declaration

    @@ -362,7 +662,7 @@

    Parameters

    @@ -415,7 +715,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -468,7 +768,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -524,7 +824,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -577,7 +877,7 @@

    Return Value

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    @@ -675,7 +975,7 @@

    Parameters

    @@ -760,7 +1060,7 @@

    Parameters

    @@ -833,7 +1133,7 @@

    Parameters

    @@ -906,7 +1206,7 @@

    Parameters

    @@ -958,7 +1258,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -1002,7 +1302,7 @@

    Declaration

    diff --git a/docs/Extensions/UICollectionView.html b/docs/Extensions/UICollectionView.html index 3afb6f6..f7b421b 100644 --- a/docs/Extensions/UICollectionView.html +++ b/docs/Extensions/UICollectionView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    diff --git a/docs/Extensions/UITableView.html b/docs/Extensions/UITableView.html index f5f023c..ac3aeb2 100644 --- a/docs/Extensions/UITableView.html +++ b/docs/Extensions/UITableView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UITableView or nil if it could not be found.

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html index 177cd17..babc873 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -151,7 +151,7 @@

    Declaration

    @@ -227,7 +227,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html index 01b51b9..d72d1fa 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html @@ -228,6 +228,306 @@

    Declaration

  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Tells the delegate that the scroll view has changed its content size.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • @@ -253,7 +553,7 @@

    Declaration

    @@ -302,7 +602,7 @@

    Parameters

    @@ -355,7 +655,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -408,7 +708,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -464,7 +764,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -550,7 +850,7 @@

    Parameters

    @@ -623,7 +923,7 @@

    Parameters

    @@ -708,7 +1008,7 @@

    Parameters

    @@ -781,7 +1081,7 @@

    Parameters

    @@ -830,10 +1130,63 @@

    Parameters

    Return Value

    -

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +

    The keypath of the item at the specified point, or nil if no item was found at that point.

    +
    + + + +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the IndexPath corresponding to the provided KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    The path representing the desired indexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the item at the provided keyPath.

    @@ -877,7 +1230,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html index 61f7737..9c4a584 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html @@ -258,6 +258,306 @@

    Declaration

  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Tells the delegate that the scroll view has changed its content size.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    + +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    See UIScrollView’s documentation for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    + +
    +
    +
  • @@ -283,7 +583,7 @@

    Declaration

    @@ -313,7 +613,7 @@

    Declaration

    @@ -362,7 +662,7 @@

    Parameters

    @@ -415,7 +715,7 @@

    Return Value

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    @@ -468,7 +768,7 @@

    Return Value

    A KeyPath that matches the key or nil if there is no match.

    @@ -524,7 +824,7 @@

    Return Value

    The key representation of the supplied IndexPath.

    @@ -577,7 +877,7 @@

    Return Value

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    @@ -675,7 +975,7 @@

    Parameters

    @@ -760,7 +1060,7 @@

    Parameters

    @@ -833,7 +1133,7 @@

    Parameters

    @@ -906,7 +1206,7 @@

    Parameters

    @@ -958,7 +1258,7 @@

    Return Value

    the keypath of the item at the specified point, or nil if no item was found at that point.

    @@ -1002,7 +1302,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html index 3afb6f6..f7b421b 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html index f5f023c..ac3aeb2 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html @@ -155,7 +155,7 @@

    Declaration

    @@ -204,7 +204,7 @@

    Parameters

    @@ -257,7 +257,7 @@

    Return Value

    The IndexPath of the view in the UITableView or nil if it could not be found.

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/search.json b/docs/docsets/.docset/Contents/Resources/Documents/search.json index a39ee20..b13637d 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC19scrollViewDidScrollySo08UIScrollE0CcSgvp":{"name":"scrollViewDidScroll","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC27scrollViewWillBeginDraggingySo08UIScrollE0CcSgvp":{"name":"scrollViewWillBeginDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC25scrollViewWillEndDraggingySo08UIScrollE0C_SC7CGPointVSpyAGGtcSgvp":{"name":"scrollViewWillEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC24scrollViewDidEndDraggingySo08UIScrollE0C_SbtcSgvp":{"name":"scrollViewDidEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC31scrollViewWillBeginDeceleratingySo08UIScrollE0CcSgvp":{"name":"scrollViewWillBeginDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC28scrollViewDidEndDeceleratingySo08UIScrollE0CcSgvp":{"name":"scrollViewDidEndDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC30scrollViewDidChangeContentSizeySo08UIScrollE0CcSgvp":{"name":"scrollViewDidChangeContentSize","abstract":"

    Tells the delegate that the scroll view has changed its content size.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC34scrollViewDidEndScrollingAnimationySo08UIScrollE0CcSgvp":{"name":"scrollViewDidEndScrollingAnimation","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC27scrollViewShouldScrollToTopSbSo08UIScrollE0CcSgvp":{"name":"scrollViewShouldScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC24scrollViewDidScrollToTopySo08UIScrollE0CcSgvp":{"name":"scrollViewDidScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C19scrollViewDidScrollySo08UIScrollF0CcSgvp":{"name":"scrollViewDidScroll","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C27scrollViewWillBeginDraggingySo08UIScrollF0CcSgvp":{"name":"scrollViewWillBeginDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C25scrollViewWillEndDraggingySo08UIScrollF0C_SC7CGPointVSpyAHGtcSgvp":{"name":"scrollViewWillEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C24scrollViewDidEndDraggingySo08UIScrollF0C_SbtcSgvp":{"name":"scrollViewDidEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C31scrollViewWillBeginDeceleratingySo08UIScrollF0CcSgvp":{"name":"scrollViewWillBeginDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C28scrollViewDidEndDeceleratingySo08UIScrollF0CcSgvp":{"name":"scrollViewDidEndDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C30scrollViewDidChangeContentSizeySo08UIScrollF0CcSgvp":{"name":"scrollViewDidChangeContentSize","abstract":"

    Tells the delegate that the scroll view has changed its content size.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C34scrollViewDidEndScrollingAnimationySo08UIScrollF0CcSgvp":{"name":"scrollViewDidEndScrollingAnimation","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C27scrollViewShouldScrollToTopSbSo08UIScrollF0CcSgvp":{"name":"scrollViewShouldScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C24scrollViewDidScrollToTopySo08UIScrollF0CcSgvp":{"name":"scrollViewDidScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C016indexPathFromKeyF010Foundation05IndexF0VSgAC0hF0VF":{"name":"indexPathFromKeyPath(_:)","abstract":"

    Returns the IndexPath corresponding to the provided KeyPath.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json index f48b0c5..d669dbf 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json @@ -121,273 +121,259 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 54, - "symbol": "FunctionalCollectionData.collectionView", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 62, + "line": 63, "symbol": "FunctionalCollectionData.subscript(_:)", "symbol_kind": "source.lang.swift.decl.function.subscript", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 66, + "line": 67, "symbol": "FunctionalCollectionData.scrollViewDidScroll", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 67, + "line": 68, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 68, + "line": 69, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 69, + "line": 70, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 70, + "line": 71, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 71, + "line": 72, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 72, + "line": 73, "symbol": "FunctionalCollectionData.scrollViewDidChangeContentSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 73, + "line": 74, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 74, + "line": 75, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 75, + "line": 76, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 84, - "symbol": "FunctionalCollectionData.init(name:fileName:lineNumber:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 381, + "line": 390, "symbol": "FunctionalCollectionData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 393, + "line": 402, "symbol": "FunctionalCollectionData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 439, + "line": 448, "symbol": "FunctionalCollectionData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 443, + "line": 452, "symbol": "FunctionalCollectionData.collectionView(_:numberOfItemsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 447, + "line": 456, "symbol": "FunctionalCollectionData.collectionView(_:cellForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 459, + "line": 468, "symbol": "FunctionalCollectionData.collectionView(_:moveItemAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 472, + "line": 481, "symbol": "FunctionalCollectionData.collectionView(_:shouldSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 477, + "line": 486, "symbol": "FunctionalCollectionData.collectionView(_:shouldHighlightItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 481, + "line": 490, "symbol": "FunctionalCollectionData.collectionView(_:didSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 493, + "line": 502, "symbol": "FunctionalCollectionData.collectionView(_:didDeselectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 505, + "line": 514, "symbol": "FunctionalCollectionData.collectionView(_:willDisplay:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 514, + "line": 523, "symbol": "FunctionalCollectionData.collectionView(_:didEndDisplaying:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 521, + "line": 530, "symbol": "FunctionalCollectionData.collectionView(_:shouldShowMenuForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 525, + "line": 534, "symbol": "FunctionalCollectionData.collectionView(_:canPerformAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 529, + "line": 538, "symbol": "FunctionalCollectionData.collectionView(_:performAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 533, + "line": 542, "symbol": "FunctionalCollectionData.collectionView(_:canMoveItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 537, + "line": 546, "symbol": "FunctionalCollectionData.collectionView(_:targetIndexPathForMoveFromItemAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 550, + "line": 559, "symbol": "FunctionalCollectionData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 554, + "line": 563, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 558, + "line": 567, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 562, + "line": 571, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 566, + "line": 575, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 570, + "line": 579, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 574, + "line": 583, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 578, + "line": 587, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 582, + "line": 591, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" @@ -814,273 +800,266 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 131, - "symbol": "FunctionalTableData.init(name:fileName:lineNumber:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 203, + "line": 211, "symbol": "FunctionalTableData.renderAndDiff(_:keyPath:reloadList:animated:animations:completion:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 459, + "line": 467, "symbol": "FunctionalTableData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 471, + "line": 479, "symbol": "FunctionalTableData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 531, + "line": 539, "symbol": "FunctionalTableData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 535, + "line": 543, "symbol": "FunctionalTableData.tableView(_:numberOfRowsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 539, + "line": 547, "symbol": "FunctionalTableData.tableView(_:cellForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 551, + "line": 559, "symbol": "FunctionalTableData.tableView(_:moveRowAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 564, + "line": 572, "symbol": "FunctionalTableData.tableView(_:heightForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 572, + "line": 580, "symbol": "FunctionalTableData.tableView(_:heightForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 580, + "line": 588, "symbol": "FunctionalTableData.tableView(_:estimatedHeightForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 589, + "line": 597, "symbol": "FunctionalTableData.tableView(_:viewForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 594, + "line": 602, "symbol": "FunctionalTableData.tableView(_:viewForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 599, + "line": 607, "symbol": "FunctionalTableData.tableView(_:shouldHighlightRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 604, + "line": 612, "symbol": "FunctionalTableData.tableView(_:willSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 647, + "line": 655, "symbol": "FunctionalTableData.tableView(_:didSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 659, + "line": 667, "symbol": "FunctionalTableData.tableView(_:didDeselectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 671, + "line": 679, "symbol": "FunctionalTableData.tableView(_:willDisplay:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 684, + "line": 692, "symbol": "FunctionalTableData.tableView(_:didEndDisplaying:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 691, + "line": 699, "symbol": "FunctionalTableData.tableView(_:willDisplayHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 696, + "line": 704, "symbol": "FunctionalTableData.tableView(_:didEndDisplayingHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 702, + "line": 710, "symbol": "FunctionalTableData.tableView(_:shouldShowMenuForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 707, + "line": 715, "symbol": "FunctionalTableData.tableView(_:canPerformAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 712, + "line": 720, "symbol": "FunctionalTableData.tableView(_:performAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 716, + "line": 724, "symbol": "FunctionalTableData.tableView(_:editingStyleForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 721, + "line": 729, "symbol": "FunctionalTableData.tableView(_:shouldIndentWhileEditingRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 725, + "line": 733, "symbol": "FunctionalTableData.tableView(_:canMoveRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 729, + "line": 737, "symbol": "FunctionalTableData.tableView(_:targetIndexPathForMoveFromRowAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 733, + "line": 741, "symbol": "FunctionalTableData.tableView(_:canEditRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 738, + "line": 746, "symbol": "FunctionalTableData.tableView(_:editActionsForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 752, + "line": 760, "symbol": "FunctionalTableData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 756, + "line": 764, "symbol": "FunctionalTableData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 760, + "line": 768, "symbol": "FunctionalTableData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 764, + "line": 772, "symbol": "FunctionalTableData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 768, + "line": 776, "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 772, + "line": 780, "symbol": "FunctionalTableData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 776, + "line": 784, "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 780, + "line": 788, "symbol": "FunctionalTableData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 784, + "line": 792, "symbol": "FunctionalTableData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" diff --git a/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/docsets/.docset/Contents/Resources/docSet.dsidx index 9455dd9ab58b928457b8355c9ad0e00440cd3e6d..944e4f9798c171d43c5330be2e845ef63f7bb423 100644 GIT binary patch delta 5517 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 delta 1694 zcmZ`(eNa?Y6u)QRd-uM#Z{I#YV(@{$!m$<0EGXQ~ zG_q1VHi91&lQWr>WSfXKm}7sGl~ywreNEbjlYI})SYu}Oc1LIYr+?19_uO;Oncw}L z-|2r|=s$1S7A{SoN#=ANpi)TIo66X`U6gY1ksu&;*NV z1#L34sQSJ3m$gYa6THO{Wy6|$in1>rFVFYl)sj~HcS)|zjFPyW-eK^1z`XHh(R9eT z&lhAh=FYstlGc5;2h5$wljwXS5P^qg)nVhT?6p?Q?OioIyT0GOST z$b5^XtjJ2h$?+K&$VgQ>`7JahhW7wY-T5SYI9G}`Oqi1cakwqlj;{@Bum+#csfn#O zD@B^v!0l=4@N{_cJ&ldYtGz8wDL&c-`1#=&)|)8BMW+D%b2yguB$@u%fQh3H=66WZ zp_pZ(QP7PCX1x%+a$7gU6L(F(eZikHYazHLE5fqa3e_Z*xQTRB91|0SpfH2Db-(?p zy;}Q3tFXOkOH$ufoz^EUE^9LRMHy2{EqmpQ@+R5IPO&ChM=wE>Q~}l7^Jd~_#gAcQ zVRO_&QU#gDbHM9qc6+?ZDaD?3d>$<_0`d52`kgrER2Cjg%VaG+>NI!}ep8qj_MJIC z1sc&<%o1Qh8svEg7}u!F;2oH;&=r29=euAX&R*z;+TgtW zZviT>&((l`FKWdv3*Ar|^ek?dUM~g5QprUO2#C_RYN7Rgs~3K>FV)`D%54+2mGl~H zv^2;ci5UtCCxu+~B=t&*Sfjp4pC*f>fPEo&Tm-NT<^I_44a`D=lLHKs^n7qW_=45c8BGW zicgIsF}{?R8-YB0*>`vNgSH(lQrdYQtuz8=XN>PP@Y=CqrH!wk^+uo^@Comy(25^* zo@G5DwdIA>mWC(#Q}GcVE8owf=&eRT!YqGkINhDc)1e7VH(bV3$v#v%`k)#II^M;q zuHTquc558zL)IVXP^QW+$p!39mP2>ZC@D!S5gIISSQfxj5JygvzU^%bEX&;Z!%#7+ zqa-qd>-bz|5j=#OceSupl$4p@fG3`g#pvCSLM;yO?tvPN*%O47`0<_#umX?loqz{% z>$8_wH6?!zmA)xqw8E%f#oVinOl?U(J(Xn$!(HK%RAZH~G_6|KvZCiwt+g`THn(jKW? zN)~?<-xY_&Ua{&>n?tlD^y1mWPUyiahZDh%aidA5`0g2X&@PFX1LMZLu%!6#rO{N{ zDG_rngvY|A(KP5l$C03HTSrN_#}6*tr0^x}l!OU=#g}=V&|>i7xue&h4Zl8ilC@G2 zVlqUe!tZDa!8e6=FnxYF+7z0=wPws5-)i#q!T2syVhzWAro_%4_gkhvjOxxEp<%N# zk2X+}9uvTG#k0dNmk*{vJ@yXPz-s(zkb?(T4sE{8YH}PQ4iIrbPGEy9fhJ1Xdb9mc zd%rzJ8`GBCF4}xHRUJ~PwORR2DVI+lYO54wK9`z|M%z`1 n=)tZR%ff}d#~Mt4kB@Y+|IwS`;VGeXa3kGDSQV_?KbQRn!o?tE diff --git a/docs/docsets/.tgz b/docs/docsets/.tgz index 2beb7d94baeb9d13b56cfcd36119ccb67c5b8aaf..2f01e18dba7b850dc766e848424c2107eceda665 100644 GIT binary patch literal 106411 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 literal 102966 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 diff --git a/docs/search.json b/docs/search.json index a39ee20..b13637d 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV10didMoveRowySi_SitcSgvp":{"name":"didMoveRow","abstract":"

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV6appendyAA14CellConfigType_pF":{"name":"append(_:)","abstract":"

    Adds a row to the end of the array of rows.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s8SequenceP12makeIterator0C0QzyF":{"name":"makeIterator()","parent_name":"TableSection"},"Structs/TableSection.html#/s:19FunctionalTableData0B7SectionV11mergedStyleAA04CellF0VSgSi3for_tF":{"name":"mergedStyle(for:)","abstract":"

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    ","parent_name":"TableSection"},"Structs/TableSection.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"TableSection"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV5stateq_vp":{"name":"state","abstract":"

    Contains the state information of a cell.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV11cellUpdateryx_q_Sgtcvp":{"name":"cellUpdater","abstract":"

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo11UITableViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV8registerySo16UICollectionViewC4with_tF":{"name":"register(with:)","abstract":"

    Registers the instance of this HostCell for use in creating new table cells.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So011UITableViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData8HostCellV07dequeueE0So016UICollectionViewE0CSo0gH0C4from_10Foundation9IndexPathV2attF":{"name":"dequeueCell(from:at:)","abstract":"

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    ","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","parent_name":"HostCell"},"Structs/HostCell.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","parent_name":"HostCell"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15bottomSeparatorAA0G0C0E0OSgvp":{"name":"bottomSeparator","abstract":"

    The style to apply to the bottom separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12topSeparatorAA0G0C0E0OSgvp":{"name":"topSeparator","abstract":"

    The style to apply to the top separator in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14separatorColorSo7UIColorCSgvp":{"name":"separatorColor","abstract":"

    The color of separator lines in the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9highlightSbSgvp":{"name":"highlight","abstract":"

    Whether the cell is highlighted or not.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13accessoryTypeSC011UITableViewd9AccessoryG0Ovp":{"name":"accessoryType","abstract":"

    The type of standard accessory control used by a cell.","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14selectionColorSo7UIColorCSgvp":{"name":"selectionColor","abstract":"

    The view’s selection color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    The view’s background color.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV14backgroundViewSo6UIViewCSgvp":{"name":"backgroundView","abstract":"

    The view that is displayed behind the cell’s other content.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    The tint color to apply to the cell.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV13layoutMarginsSC12UIEdgeInsetsVSgvp":{"name":"layoutMargins","abstract":"

    The default spacing to use when laying out content in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:19FunctionalTableData9CellStyleV12cornerRadius12CoreGraphics7CGFloatVvp":{"name":"cornerRadius","abstract":"

    The radius to use when drawing rounded corners in the view.

    ","parent_name":"CellStyle"},"Structs/CellStyle.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"CellStyle"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV14SelectionStateO":{"name":"SelectionState","abstract":"

    The possible states a cell can be when a selection action is performed on it.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30PreviewingViewControllerActiona":{"name":"PreviewingViewControllerAction","abstract":"

    Closure type that is executed when the user 3D-touches on a cell

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15canSelectActionyySbccSgvp":{"name":"canSelectAction","abstract":"

    The action to perform when the cell will be selected.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV15selectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"selectionAction","abstract":"

    The action to perform when the cell is selected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV17deselectionActionAC14SelectionStateOSo6UIViewCcSgvp":{"name":"deselectionAction","abstract":"

    The action to perform when the cell is deselected

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV03rowE0SaySo20UITableViewRowActionCGSgvp":{"name":"rowActions","abstract":"

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16canPerformActionSb10ObjectiveC8SelectorVcSgvp":{"name":"canPerformAction","abstract":"

    Indicates if the cell can perform a given action.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV10canBeMovedSbvp":{"name":"canBeMoved","abstract":"

    Indicates if the cell can be manually moved by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV16visibilityActionySo6UIViewC_SbtcSgvp":{"name":"visibilityAction","abstract":"

    The action to perform when the cell becomes visible.

    ","parent_name":"CellActions"},"Structs/CellActions.html#/s:19FunctionalTableData11CellActionsV30previewingViewControllerActionSo06UIViewH0CSgSo0J0C_SC7CGPointVSo0jH10Previewing_ptcSgvp":{"name":"previewingViewControllerAction","abstract":"

    The action to perform when the cell is 3D touched by the user.

    ","parent_name":"CellActions"},"Structs/CellActions.html":{"name":"CellActions","abstract":"

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    "},"Structs/CellStyle.html":{"name":"CellStyle","abstract":"

    Defines the presentation information of an item inside a TableSection.

    "},"Structs/HostCell.html":{"name":"HostCell","abstract":"

    Defines the view, state and layout information of a row item inside a TableSection."},"Structs/TableSection.html":{"name":"TableSection","abstract":"

    Defines the style, and state information of a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html#/s:19FunctionalTableData0abC16ExceptionHandlerP6handleyA2AC0D0V9exception_tF":{"name":"handle(exception:)","abstract":"

    Handles the exception. This is only for debugging purposes, and commonly used","parent_name":"FunctionalTableDataExceptionHandler"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6headerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"header","abstract":"

    View object to display in the header of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP6footerAA0b18HeaderFooterConfigE0_pSgvp":{"name":"footer","abstract":"

    View object to display in the footer of this section.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP4rowsSayAA010CellConfigE0_pGvp":{"name":"rows","abstract":"

    Instances of CellConfigType that represent the rows in the table view.

    ","parent_name":"TableSectionType"},"Protocols/TableSectionType.html#/s:19FunctionalTableData0B11SectionTypeP22headerVisibilityActionySo6UIViewC_SbtcSgvp":{"name":"headerVisibilityAction","abstract":"

    Action to perform when the header view comes in or out of view.

    ","parent_name":"TableSectionType"},"Protocols/Reusable.html#/s:19FunctionalTableData8ReusableP15reuseIdentifierSSvpZ":{"name":"reuseIdentifier","abstract":"

    Unique identifier for the object.

    ","parent_name":"Reusable"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP3keySSvp":{"name":"key","abstract":"

    Unique identifier for the cell.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP5styleAA0D5StyleVSgvp":{"name":"style","abstract":"

    Indicates a cell style. See CellStyle for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7actionsAA0D7ActionsVvp":{"name":"actions","abstract":"

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo011UITableViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP6updateySo016UICollectionViewD0C4cell_So0hI0C2intF":{"name":"update(cell:in:)","abstract":"

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html#/s:19FunctionalTableData14CellConfigTypeP7isEqualSbAaB_pF":{"name":"isEqual(_:)","abstract":"

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    ","parent_name":"CellConfigType"},"Protocols/CellConfigType.html":{"name":"CellConfigType","abstract":"

    A type that provides the information required by FunctionalTableData to generate cells.

    "},"Protocols/Reusable.html":{"name":"Reusable","abstract":"

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    "},"Protocols/TableSectionType.html":{"name":"TableSectionType","abstract":"

    A type that provides the information about a section.

    "},"Protocols/FunctionalTableDataExceptionHandler.html":{"name":"FunctionalTableDataExceptionHandler","abstract":"

    A type that provides the debugging information when an exception occurs.

    "},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UITableView and its items. Necessary for calculating new","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE23deselectLastSelectedRowySb8animated_tF":{"name":"deselectLastSelectedRow(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UITableView"},"Extensions/UITableView.html#/s:So11UITableViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    ","parent_name":"UITableView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE17applyTopSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyTopSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the top of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE20applyBottomSeparatoryAC0G0C5StyleO_So7UIColorCSg5colortF":{"name":"applyBottomSeparator(_:color:)","abstract":"

    Applies an instance of a Separator view to the bottom of the current view.

    ","parent_name":"UIView"},"Extensions/UIView.html#/s:So6UIViewC19FunctionalTableDataE15removeSeparatoryAC0F0C3TagOF":{"name":"removeSeparator(_:)","abstract":"

    Removes any instance of a Separator view from the current view.

    ","parent_name":"UIView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE6renderyyF":{"name":"render()","abstract":"

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE24deselectLastSelectedItemySb8animated_tF":{"name":"deselectLastSelectedItem(animated:)","abstract":"

    Deselects the previously selected row, with an option to animate the deselection.

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html#/s:So16UICollectionViewC19FunctionalTableDataE9indexPath10Foundation05IndexG0VSgSo6UIViewC3for_tF":{"name":"indexPath(for:)","abstract":"

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    ","parent_name":"UICollectionView"},"Extensions/UICollectionView.html":{"name":"UICollectionView"},"Extensions/UIView.html":{"name":"UIView"},"Extensions/UITableView.html":{"name":"UITableView"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV07sectionD0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData/KeyPath.html#/s:19FunctionalTableDataAAC7KeyPathV03rowD0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9ExceptionV":{"name":"Exception","abstract":"

    A type that provides the information about an exception.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16exceptionHandlerAA0abc9ExceptionE0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalTableData.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC9tableViewSo07UITableE0CSgvp":{"name":"tableView","abstract":"

    Enclosing UITableView that presents all the TableSection data.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC19scrollViewDidScrollySo08UIScrollE0CcSgvp":{"name":"scrollViewDidScroll","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC27scrollViewWillBeginDraggingySo08UIScrollE0CcSgvp":{"name":"scrollViewWillBeginDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC25scrollViewWillEndDraggingySo08UIScrollE0C_SC7CGPointVSpyAGGtcSgvp":{"name":"scrollViewWillEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC24scrollViewDidEndDraggingySo08UIScrollE0C_SbtcSgvp":{"name":"scrollViewDidEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC31scrollViewWillBeginDeceleratingySo08UIScrollE0CcSgvp":{"name":"scrollViewWillBeginDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC28scrollViewDidEndDeceleratingySo08UIScrollE0CcSgvp":{"name":"scrollViewDidEndDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC30scrollViewDidChangeContentSizeySo08UIScrollE0CcSgvp":{"name":"scrollViewDidChangeContentSize","abstract":"

    Tells the delegate that the scroll view has changed its content size.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC34scrollViewDidEndScrollingAnimationySo08UIScrollE0CcSgvp":{"name":"scrollViewDidEndScrollingAnimation","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC27scrollViewShouldScrollToTopSbSo08UIScrollE0CcSgvp":{"name":"scrollViewShouldScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC24scrollViewDidScrollToTopySo08UIScrollE0CcSgvp":{"name":"scrollViewDidScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC0B10AnimationsV":{"name":"TableAnimations","abstract":"

    The type of animation when rows and sections are inserted or deleted.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAACABSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13rowForKeyPathAA14CellConfigType_pSgAB0fG0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC16keyPathForRowKeyAB0hE0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC015keyPathForIndexE0AB03KeyE0V10Foundation0gE0V05indexE0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC14rectForKeyPathSC6CGRectVSgAB0fG0VF":{"name":"rectForKeyPath(_:)","abstract":"

    Returns the drawing area for a row identified by key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_AB7KeyPathVSg03keyI0Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC13renderAndDiffySayAA0B7SectionVG_Sb8animatedAB0B10AnimationsV10animationsyycSg10completiontF":{"name":"renderAndDiff(_:animated:animations:completion:)","abstract":"

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6selectyAB7KeyPathV03keyF0_Sb8animatedSC25UITableViewScrollPositionO06scrollL0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the table view identified by a key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC6scrollyAB7KeyPathV2to_Sb8animatedSC25UITableViewScrollPositionO0dL0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/s:19FunctionalTableDataAAC7keyPathAB03KeyE0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalTableData"},"Classes/FunctionalTableData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalTableData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalTableData"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5inset12CoreGraphics7CGFloatVvpZ":{"name":"inset","abstract":"

    Specifies the default inset of cell separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC5StyleO":{"name":"Style","abstract":"

    The style for table cells used as separators.

    ","parent_name":"Separator"},"Classes/Separator.html#/s:19FunctionalTableData9SeparatorC3TagO":{"name":"Tag","abstract":"

    The identifier that can be used to locate a given separator view.

    ","parent_name":"Separator"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV07sectionE0SSvp":{"name":"sectionKey","abstract":"

    Unique identifier for a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:19FunctionalTableData0a10CollectionC0C7KeyPathV03rowE0SSvp":{"name":"rowKey","abstract":"

    Unique identifier for an item inside a section.

    ","parent_name":"KeyPath"},"Classes/FunctionalCollectionData/KeyPath.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"KeyPath"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16exceptionHandlerAA0abc9ExceptionF0_pSgvpZ":{"name":"exceptionHandler","abstract":"

    Specifies the desired exception handling behaviour.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData/KeyPath.html":{"name":"KeyPath","abstract":"

    Represents the unique path to a given item in the FunctionalCollectionData.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C14collectionViewSo012UICollectionF0CSgvp":{"name":"collectionView","abstract":"

    Enclosing UICollectionView that presents all the TableSection data.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C19scrollViewDidScrollySo08UIScrollF0CcSgvp":{"name":"scrollViewDidScroll","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C27scrollViewWillBeginDraggingySo08UIScrollF0CcSgvp":{"name":"scrollViewWillBeginDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C25scrollViewWillEndDraggingySo08UIScrollF0C_SC7CGPointVSpyAHGtcSgvp":{"name":"scrollViewWillEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C24scrollViewDidEndDraggingySo08UIScrollF0C_SbtcSgvp":{"name":"scrollViewDidEndDragging","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C31scrollViewWillBeginDeceleratingySo08UIScrollF0CcSgvp":{"name":"scrollViewWillBeginDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C28scrollViewDidEndDeceleratingySo08UIScrollF0CcSgvp":{"name":"scrollViewDidEndDecelerating","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C30scrollViewDidChangeContentSizeySo08UIScrollF0CcSgvp":{"name":"scrollViewDidChangeContentSize","abstract":"

    Tells the delegate that the scroll view has changed its content size.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C34scrollViewDidEndScrollingAnimationySo08UIScrollF0CcSgvp":{"name":"scrollViewDidEndScrollingAnimation","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C27scrollViewShouldScrollToTopSbSo08UIScrollF0CcSgvp":{"name":"scrollViewShouldScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C24scrollViewDidScrollToTopySo08UIScrollF0CcSgvp":{"name":"scrollViewDidScrollToTop","abstract":"

    See UIScrollView’s documentation for more information.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C11isRenderingSbvp":{"name":"isRendering","abstract":"

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0CACSSSg4name_tcfc":{"name":"init(name:)","abstract":"

    Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13rowForKeyPathAA14CellConfigType_pSgAC0gH0VF":{"name":"rowForKeyPath(_:)","abstract":"

    Returns the cell identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C16keyPathForRowKeyAC0iF0VSgSSF":{"name":"keyPathForRowKey(_:)","abstract":"

    Returns the key path specified by its string presentation.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C015keyPathForIndexF0AC03KeyF0V10Foundation0hF0V05indexF0_tF":{"name":"keyPathForIndexPath(indexPath:)","abstract":"

    Returns the key path of the cell in a given IndexPath location.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_AC7KeyPathVSg03keyJ0Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:keyPath:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C13renderAndDiffySayAA0B7SectionVG_Sb8animatedyycSg10completiontF":{"name":"renderAndDiff(_:animated:completion:)","abstract":"

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6selectyAC7KeyPathV03keyG0_Sb8animatedSC30UICollectionViewScrollPositionV06scrollM0Sb15triggerDelegatetF":{"name":"select(keyPath:animated:scrollPosition:triggerDelegate:)","abstract":"

    Selects a row in the collection view identified by a key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C6scrollyAC7KeyPathV2to_Sb8animatedSC30UICollectionViewScrollPositionV0eM0tF":{"name":"scroll(to:animated:scrollPosition:)","abstract":"

    Scrolls to the item at the specified key path.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C7keyPathAC03KeyF0VSgSC7CGPointV2at_tF":{"name":"keyPath(at:)","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/s:19FunctionalTableData0a10CollectionC0C016indexPathFromKeyF010Foundation05IndexF0VSgAC0hF0VF":{"name":"indexPathFromKeyPath(_:)","abstract":"

    Returns the IndexPath corresponding to the provided KeyPath.

    ","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html#/c:@CM@FunctionalTableData@objc(cs)FunctionalCollectionData(im)scrollViewDidChangeContentSize:":{"name":"scrollViewDidChangeContentSize(_:)","abstract":"

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol","parent_name":"FunctionalCollectionData"},"Classes/FunctionalCollectionData.html":{"name":"FunctionalCollectionData","abstract":"

    A renderer for UICollectionView.

    "},"Classes/Separator.html":{"name":"Separator","abstract":"

    A view used to include separator lines between table cells.

    "},"Classes/FunctionalTableData.html":{"name":"FunctionalTableData","abstract":"

    A renderer for UITableView.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index d669dbf..d4627f5 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -128,252 +128,175 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 67, - "symbol": "FunctionalCollectionData.scrollViewDidScroll", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 68, - "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 69, - "symbol": "FunctionalCollectionData.scrollViewWillEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 70, - "symbol": "FunctionalCollectionData.scrollViewDidEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 71, - "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 72, - "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 73, - "symbol": "FunctionalCollectionData.scrollViewDidChangeContentSize", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 74, - "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 75, - "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 76, - "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 390, - "symbol": "FunctionalCollectionData.indexPathFromKeyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 402, + "line": 411, "symbol": "FunctionalCollectionData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 448, + "line": 457, "symbol": "FunctionalCollectionData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 452, + "line": 461, "symbol": "FunctionalCollectionData.collectionView(_:numberOfItemsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 456, + "line": 465, "symbol": "FunctionalCollectionData.collectionView(_:cellForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 468, + "line": 477, "symbol": "FunctionalCollectionData.collectionView(_:moveItemAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 481, + "line": 490, "symbol": "FunctionalCollectionData.collectionView(_:shouldSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 486, + "line": 495, "symbol": "FunctionalCollectionData.collectionView(_:shouldHighlightItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 490, + "line": 499, "symbol": "FunctionalCollectionData.collectionView(_:didSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 502, + "line": 511, "symbol": "FunctionalCollectionData.collectionView(_:didDeselectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 514, + "line": 523, "symbol": "FunctionalCollectionData.collectionView(_:willDisplay:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 523, + "line": 532, "symbol": "FunctionalCollectionData.collectionView(_:didEndDisplaying:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 530, + "line": 539, "symbol": "FunctionalCollectionData.collectionView(_:shouldShowMenuForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 534, + "line": 543, "symbol": "FunctionalCollectionData.collectionView(_:canPerformAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 538, + "line": 547, "symbol": "FunctionalCollectionData.collectionView(_:performAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 542, + "line": 551, "symbol": "FunctionalCollectionData.collectionView(_:canMoveItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 546, + "line": 555, "symbol": "FunctionalCollectionData.collectionView(_:targetIndexPathForMoveFromItemAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 559, + "line": 568, "symbol": "FunctionalCollectionData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 563, + "line": 572, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 567, + "line": 576, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 571, + "line": 580, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 575, + "line": 584, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 579, + "line": 588, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 583, + "line": 592, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 587, + "line": 596, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 591, + "line": 600, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" @@ -709,357 +632,287 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 87, - "symbol": "FunctionalTableData.scrollViewDidScroll", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 88, - "symbol": "FunctionalTableData.scrollViewWillBeginDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 89, - "symbol": "FunctionalTableData.scrollViewWillEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 90, - "symbol": "FunctionalTableData.scrollViewDidEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 91, - "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 92, - "symbol": "FunctionalTableData.scrollViewDidEndDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 93, - "symbol": "FunctionalTableData.scrollViewDidChangeContentSize", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 94, - "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 95, - "symbol": "FunctionalTableData.scrollViewShouldScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 96, - "symbol": "FunctionalTableData.scrollViewDidScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 100, + "line": 110, "symbol": "FunctionalTableData.TableAnimations.Actions", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 116, + "line": 126, "symbol": "FunctionalTableData.TableAnimations.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 118, + "line": 128, "symbol": "FunctionalTableData.TableAnimations.init(sections:rows:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 211, + "line": 216, "symbol": "FunctionalTableData.renderAndDiff(_:keyPath:reloadList:animated:animations:completion:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 467, + "line": 472, "symbol": "FunctionalTableData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 479, + "line": 484, "symbol": "FunctionalTableData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 539, + "line": 544, "symbol": "FunctionalTableData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 543, + "line": 548, "symbol": "FunctionalTableData.tableView(_:numberOfRowsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 547, + "line": 552, "symbol": "FunctionalTableData.tableView(_:cellForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 559, + "line": 564, "symbol": "FunctionalTableData.tableView(_:moveRowAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 572, + "line": 577, "symbol": "FunctionalTableData.tableView(_:heightForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 580, + "line": 585, "symbol": "FunctionalTableData.tableView(_:heightForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 588, + "line": 593, "symbol": "FunctionalTableData.tableView(_:estimatedHeightForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 597, + "line": 602, "symbol": "FunctionalTableData.tableView(_:viewForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 602, + "line": 607, "symbol": "FunctionalTableData.tableView(_:viewForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 607, + "line": 612, "symbol": "FunctionalTableData.tableView(_:shouldHighlightRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 612, + "line": 617, "symbol": "FunctionalTableData.tableView(_:willSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 655, + "line": 660, "symbol": "FunctionalTableData.tableView(_:didSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 667, + "line": 672, "symbol": "FunctionalTableData.tableView(_:didDeselectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 679, + "line": 684, "symbol": "FunctionalTableData.tableView(_:willDisplay:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 692, + "line": 697, "symbol": "FunctionalTableData.tableView(_:didEndDisplaying:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 699, + "line": 704, "symbol": "FunctionalTableData.tableView(_:willDisplayHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 704, + "line": 709, "symbol": "FunctionalTableData.tableView(_:didEndDisplayingHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 710, + "line": 715, "symbol": "FunctionalTableData.tableView(_:shouldShowMenuForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 715, + "line": 720, "symbol": "FunctionalTableData.tableView(_:canPerformAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 720, + "line": 725, "symbol": "FunctionalTableData.tableView(_:performAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 724, + "line": 729, "symbol": "FunctionalTableData.tableView(_:editingStyleForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 729, + "line": 734, "symbol": "FunctionalTableData.tableView(_:shouldIndentWhileEditingRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 733, + "line": 738, "symbol": "FunctionalTableData.tableView(_:canMoveRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 737, + "line": 742, "symbol": "FunctionalTableData.tableView(_:targetIndexPathForMoveFromRowAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 741, + "line": 746, "symbol": "FunctionalTableData.tableView(_:canEditRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 746, + "line": 751, "symbol": "FunctionalTableData.tableView(_:editActionsForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 760, + "line": 765, "symbol": "FunctionalTableData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 764, + "line": 769, "symbol": "FunctionalTableData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 768, + "line": 773, "symbol": "FunctionalTableData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 772, + "line": 777, "symbol": "FunctionalTableData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 776, + "line": 781, "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 780, + "line": 785, "symbol": "FunctionalTableData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 784, + "line": 789, "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 788, + "line": 793, "symbol": "FunctionalTableData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 792, + "line": 797, "symbol": "FunctionalTableData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" From cc4dd6b1b60f76624a388467b42d96bdba6c73d0 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 22:09:17 -0400 Subject: [PATCH 7/9] This is not needed --- FunctionalTableData/Separator.swift | 4 ---- 1 file changed, 4 deletions(-) diff --git a/FunctionalTableData/Separator.swift b/FunctionalTableData/Separator.swift index 1389226..5ac1032 100644 --- a/FunctionalTableData/Separator.swift +++ b/FunctionalTableData/Separator.swift @@ -44,10 +44,6 @@ public class Separator: UIView { // numbers are random so subview tags don't conflict case top = 2318 case bottom = 9773 - - var intValue: Int { - return self.rawValue - } } let style: Style From ca4e729736252f283d9c030e48893563e8be99ba Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 22:22:51 -0400 Subject: [PATCH 8/9] More insight about that name argument --- .../CollectionView/FunctionalCollectionData.swift | 4 ++-- FunctionalTableData/TableView/FunctionalTableData.swift | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift index f1de8a8..bb96c2a 100644 --- a/FunctionalTableData/CollectionView/FunctionalCollectionData.swift +++ b/FunctionalTableData/CollectionView/FunctionalCollectionData.swift @@ -94,9 +94,9 @@ public class FunctionalCollectionData: NSObject { /// Initializes a FunctionalCollectionData. To configure its view, provide a UICollectionView after initialization. /// - /// - Parameter name: String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen + /// - Parameter name: String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen. This also value names the queue doing all the rendering work, useful for debugging. public init(name: String? = nil) { - self.name = name ?? "FunctionalCollectionDataRenderAndDiff-\(UUID().uuidString)" + self.name = name ?? "FunctionalCollectionDataRenderAndDiff" unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name diff --git a/FunctionalTableData/TableView/FunctionalTableData.swift b/FunctionalTableData/TableView/FunctionalTableData.swift index 28db73e..a8d4de8 100644 --- a/FunctionalTableData/TableView/FunctionalTableData.swift +++ b/FunctionalTableData/TableView/FunctionalTableData.swift @@ -140,9 +140,9 @@ public class FunctionalTableData: NSObject { /// Initializes a FunctionalTableData. To configure its view, provide a UITableView after initialization. /// - /// - Parameter name: String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen + /// - Parameter name: String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen. This value also names the queue doing all the rendering work, useful for debugging. public init(name: String? = nil) { - self.name = name ?? "FunctionalTableDataRenderAndDiff-\(UUID().uuidString)" + self.name = name ?? "FunctionalTableDataRenderAndDiff" unitTesting = NSClassFromString("XCTestCase") != nil renderAndDiffQueue = OperationQueue() renderAndDiffQueue.name = self.name From 41aeeafecc6c7a3a218dd57c571bb6152a245275 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Sun, 20 May 2018 22:25:53 -0400 Subject: [PATCH 9/9] Generated jazzy docs --- docs/Classes.html | 2 +- docs/Classes/FunctionalCollectionData.html | 2 +- docs/Classes/FunctionalTableData.html | 2 +- docs/Classes/Separator.html | 2 +- docs/Extensions/UIView.html | 6 +- .../Contents/Resources/Documents/Classes.html | 2 +- .../Classes/FunctionalCollectionData.html | 2 +- .../Classes/FunctionalTableData.html | 2 +- .../Documents/Classes/Separator.html | 2 +- .../Documents/Extensions/UIView.html | 6 +- .../Resources/Documents/undocumented.json | 279 +++++------------- docs/docsets/.tgz | Bin 106411 -> 106284 bytes docs/undocumented.json | 10 +- 13 files changed, 85 insertions(+), 232 deletions(-) diff --git a/docs/Classes.html b/docs/Classes.html index babc873..166cbde 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -190,7 +190,7 @@

    Declaration

    diff --git a/docs/Classes/FunctionalCollectionData.html b/docs/Classes/FunctionalCollectionData.html index d72d1fa..6f2e983 100644 --- a/docs/Classes/FunctionalCollectionData.html +++ b/docs/Classes/FunctionalCollectionData.html @@ -594,7 +594,7 @@

    Parameters

    -

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen

    +

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen. This also value names the queue doing all the rendering work, useful for debugging.

    diff --git a/docs/Classes/FunctionalTableData.html b/docs/Classes/FunctionalTableData.html index 9c4a584..65dd6d2 100644 --- a/docs/Classes/FunctionalTableData.html +++ b/docs/Classes/FunctionalTableData.html @@ -654,7 +654,7 @@

    Parameters

    -

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen

    +

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen. This value also names the queue doing all the rendering work, useful for debugging.

    diff --git a/docs/Classes/Separator.html b/docs/Classes/Separator.html index 4b2cdcb..cce94b3 100644 --- a/docs/Classes/Separator.html +++ b/docs/Classes/Separator.html @@ -220,7 +220,7 @@

    Declaration

    diff --git a/docs/Extensions/UIView.html b/docs/Extensions/UIView.html index f86f6b4..274b7b8 100644 --- a/docs/Extensions/UIView.html +++ b/docs/Extensions/UIView.html @@ -184,7 +184,7 @@

    Parameters

    @@ -245,7 +245,7 @@

    Parameters

    @@ -294,7 +294,7 @@

    Parameters

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html index babc873..166cbde 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -190,7 +190,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html index d72d1fa..6f2e983 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html @@ -594,7 +594,7 @@

    Parameters

    -

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen

    +

    String identifying this instance of FunctionalCollectionData, useful when several instances are displayed on the same screen. This also value names the queue doing all the rendering work, useful for debugging.

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html index 9c4a584..65dd6d2 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html @@ -654,7 +654,7 @@

    Parameters

    -

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen

    +

    String identifying this instance of FunctionalTableData, useful when several instances are displayed on the same screen. This value also names the queue doing all the rendering work, useful for debugging.

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html index 4b2cdcb..cce94b3 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html @@ -220,7 +220,7 @@

    Declaration

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html index f86f6b4..274b7b8 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html @@ -184,7 +184,7 @@

    Parameters

    @@ -245,7 +245,7 @@

    Parameters

    @@ -294,7 +294,7 @@

    Parameters

    diff --git a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json index d669dbf..d4627f5 100644 --- a/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docsets/.docset/Contents/Resources/Documents/undocumented.json @@ -128,252 +128,175 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 67, - "symbol": "FunctionalCollectionData.scrollViewDidScroll", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 68, - "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 69, - "symbol": "FunctionalCollectionData.scrollViewWillEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 70, - "symbol": "FunctionalCollectionData.scrollViewDidEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 71, - "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 72, - "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 73, - "symbol": "FunctionalCollectionData.scrollViewDidChangeContentSize", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 74, - "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 75, - "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 76, - "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 390, - "symbol": "FunctionalCollectionData.indexPathFromKeyPath(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 402, + "line": 411, "symbol": "FunctionalCollectionData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 448, + "line": 457, "symbol": "FunctionalCollectionData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 452, + "line": 461, "symbol": "FunctionalCollectionData.collectionView(_:numberOfItemsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 456, + "line": 465, "symbol": "FunctionalCollectionData.collectionView(_:cellForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 468, + "line": 477, "symbol": "FunctionalCollectionData.collectionView(_:moveItemAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 481, + "line": 490, "symbol": "FunctionalCollectionData.collectionView(_:shouldSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 486, + "line": 495, "symbol": "FunctionalCollectionData.collectionView(_:shouldHighlightItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 490, + "line": 499, "symbol": "FunctionalCollectionData.collectionView(_:didSelectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 502, + "line": 511, "symbol": "FunctionalCollectionData.collectionView(_:didDeselectItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 514, + "line": 523, "symbol": "FunctionalCollectionData.collectionView(_:willDisplay:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 523, + "line": 532, "symbol": "FunctionalCollectionData.collectionView(_:didEndDisplaying:forItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 530, + "line": 539, "symbol": "FunctionalCollectionData.collectionView(_:shouldShowMenuForItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 534, + "line": 543, "symbol": "FunctionalCollectionData.collectionView(_:canPerformAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 538, + "line": 547, "symbol": "FunctionalCollectionData.collectionView(_:performAction:forItemAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 542, + "line": 551, "symbol": "FunctionalCollectionData.collectionView(_:canMoveItemAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 546, + "line": 555, "symbol": "FunctionalCollectionData.collectionView(_:targetIndexPathForMoveFromItemAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 559, + "line": 568, "symbol": "FunctionalCollectionData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 563, + "line": 572, "symbol": "FunctionalCollectionData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 567, + "line": 576, "symbol": "FunctionalCollectionData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 571, + "line": 580, "symbol": "FunctionalCollectionData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 575, + "line": 584, "symbol": "FunctionalCollectionData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 579, + "line": 588, "symbol": "FunctionalCollectionData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 583, + "line": 592, "symbol": "FunctionalCollectionData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 587, + "line": 596, "symbol": "FunctionalCollectionData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/CollectionView/FunctionalCollectionData.swift", - "line": 591, + "line": 600, "symbol": "FunctionalCollectionData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" @@ -709,357 +632,287 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 87, - "symbol": "FunctionalTableData.scrollViewDidScroll", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 88, - "symbol": "FunctionalTableData.scrollViewWillBeginDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 89, - "symbol": "FunctionalTableData.scrollViewWillEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 90, - "symbol": "FunctionalTableData.scrollViewDidEndDragging", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 91, - "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 92, - "symbol": "FunctionalTableData.scrollViewDidEndDecelerating", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 93, - "symbol": "FunctionalTableData.scrollViewDidChangeContentSize", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 94, - "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 95, - "symbol": "FunctionalTableData.scrollViewShouldScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 96, - "symbol": "FunctionalTableData.scrollViewDidScrollToTop", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 100, + "line": 110, "symbol": "FunctionalTableData.TableAnimations.Actions", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 116, + "line": 126, "symbol": "FunctionalTableData.TableAnimations.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 118, + "line": 128, "symbol": "FunctionalTableData.TableAnimations.init(sections:rows:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 211, + "line": 216, "symbol": "FunctionalTableData.renderAndDiff(_:keyPath:reloadList:animated:animations:completion:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 467, + "line": 472, "symbol": "FunctionalTableData.indexPathFromKeyPath(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 479, + "line": 484, "symbol": "FunctionalTableData.previewingContext(_:viewControllerForLocation:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 539, + "line": 544, "symbol": "FunctionalTableData.numberOfSections(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 543, + "line": 548, "symbol": "FunctionalTableData.tableView(_:numberOfRowsInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 547, + "line": 552, "symbol": "FunctionalTableData.tableView(_:cellForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 559, + "line": 564, "symbol": "FunctionalTableData.tableView(_:moveRowAt:to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 572, + "line": 577, "symbol": "FunctionalTableData.tableView(_:heightForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 580, + "line": 585, "symbol": "FunctionalTableData.tableView(_:heightForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 588, + "line": 593, "symbol": "FunctionalTableData.tableView(_:estimatedHeightForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 597, + "line": 602, "symbol": "FunctionalTableData.tableView(_:viewForHeaderInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 602, + "line": 607, "symbol": "FunctionalTableData.tableView(_:viewForFooterInSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 607, + "line": 612, "symbol": "FunctionalTableData.tableView(_:shouldHighlightRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 612, + "line": 617, "symbol": "FunctionalTableData.tableView(_:willSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 655, + "line": 660, "symbol": "FunctionalTableData.tableView(_:didSelectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 667, + "line": 672, "symbol": "FunctionalTableData.tableView(_:didDeselectRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 679, + "line": 684, "symbol": "FunctionalTableData.tableView(_:willDisplay:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 692, + "line": 697, "symbol": "FunctionalTableData.tableView(_:didEndDisplaying:forRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 699, + "line": 704, "symbol": "FunctionalTableData.tableView(_:willDisplayHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 704, + "line": 709, "symbol": "FunctionalTableData.tableView(_:didEndDisplayingHeaderView:forSection:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 710, + "line": 715, "symbol": "FunctionalTableData.tableView(_:shouldShowMenuForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 715, + "line": 720, "symbol": "FunctionalTableData.tableView(_:canPerformAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 720, + "line": 725, "symbol": "FunctionalTableData.tableView(_:performAction:forRowAt:withSender:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 724, + "line": 729, "symbol": "FunctionalTableData.tableView(_:editingStyleForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 729, + "line": 734, "symbol": "FunctionalTableData.tableView(_:shouldIndentWhileEditingRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 733, + "line": 738, "symbol": "FunctionalTableData.tableView(_:canMoveRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 737, + "line": 742, "symbol": "FunctionalTableData.tableView(_:targetIndexPathForMoveFromRowAt:toProposedIndexPath:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 741, + "line": 746, "symbol": "FunctionalTableData.tableView(_:canEditRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 746, + "line": 751, "symbol": "FunctionalTableData.tableView(_:editActionsForRowAt:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 760, + "line": 765, "symbol": "FunctionalTableData.scrollViewDidScroll(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 764, + "line": 769, "symbol": "FunctionalTableData.scrollViewWillBeginDragging(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 768, + "line": 773, "symbol": "FunctionalTableData.scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 772, + "line": 777, "symbol": "FunctionalTableData.scrollViewDidEndDragging(_:willDecelerate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 776, + "line": 781, "symbol": "FunctionalTableData.scrollViewWillBeginDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 780, + "line": 785, "symbol": "FunctionalTableData.scrollViewDidEndDecelerating(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 784, + "line": 789, "symbol": "FunctionalTableData.scrollViewDidEndScrollingAnimation(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 788, + "line": 793, "symbol": "FunctionalTableData.scrollViewShouldScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/TableView/FunctionalTableData.swift", - "line": 792, + "line": 797, "symbol": "FunctionalTableData.scrollViewDidScrollToTop(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" diff --git a/docs/docsets/.tgz b/docs/docsets/.tgz index 2f01e18dba7b850dc766e848424c2107eceda665..b3fd3df413473d18a5cfebe257a388d1a173f368 100644 GIT binary patch literal 106284 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 C3xhcT literal 106411 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 diff --git a/docs/undocumented.json b/docs/undocumented.json index d4627f5..8070e65 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -401,35 +401,35 @@ }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 55, + "line": 51, "symbol": "Separator.init(style:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 60, + "line": 56, "symbol": "Separator.init(coder:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 64, + "line": 60, "symbol": "Separator.intrinsicContentSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 68, + "line": 64, "symbol": "Separator.constrainToTopOfView(_:constant:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/raulriera/Downloads/Shopify/FunctionalTableData/FunctionalTableData/Separator.swift", - "line": 73, + "line": 69, "symbol": "Separator.constrainToBottomOfView(_:constant:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"