From 708f164c96f73571d72736a5a0cd1b5b5773c9e1 Mon Sep 17 00:00:00 2001 From: Max Sokolov Date: Thu, 9 Jun 2016 19:34:28 +0300 Subject: [PATCH] value actions --- .../UserInterfaceState.xcuserstate | Bin 20594 -> 21675 bytes Tablet/TableRow.swift | 29 ++++++++++++++---- Tablet/TableRowAction.swift | 13 ++++---- .../Controllers/MainController.swift | 11 +++++-- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/Tablet.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate b/Tablet.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate index e78d368dbe66dfbbe53fc8b751489cae939ada4d..b905fecdb7205bfdb2d2572bb0247f4217646129 100644 GIT binary patch literal 21675 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 K-SC+k^nU>NfjFE1 diff --git a/Tablet/TableRow.swift b/Tablet/TableRow.swift index 4c5c0d4..86338d4 100644 --- a/Tablet/TableRow.swift +++ b/Tablet/TableRow.swift @@ -20,13 +20,21 @@ import UIKit -public protocol Row { - +public protocol RowConfigurable { + + func configure(cell: UITableViewCell) +} + +public protocol RowActionable { + + func invoke(action: TableRowActionType, cell: UITableViewCell?, path: NSIndexPath) -> Any? +} + +public protocol Row: RowConfigurable, RowActionable { + var reusableIdentifier: String { get } var estimatedHeight: CGFloat { get } var defaultHeight: CGFloat { get } - - func configure(cell: UITableViewCell) } public class TableRow: Row { @@ -50,14 +58,23 @@ public class TableRow Any? { + + return nil + } + // MARK: - actions - - public func addAction(action: TableRowAction) { - + public func action(action: TableRowAction) -> Self { + return self } } \ No newline at end of file diff --git a/Tablet/TableRowAction.swift b/Tablet/TableRowAction.swift index 05740e6..00cfd18 100644 --- a/Tablet/TableRowAction.swift +++ b/Tablet/TableRowAction.swift @@ -20,7 +20,7 @@ import UIKit -public enum TableActionType { +public enum TableRowActionType { case Click case Custom(String) @@ -32,10 +32,11 @@ protocol RowAction { public class TableRowAction: RowAction { - public init(_ action: TableActionType, handler: (row: TableRow) -> Void) { - - - - + public init(_ action: ActionType, handler: (row: TableRow) -> Void) { + + } + + public init(_ action: ActionType, handler: (row: TableRow) -> T) { + } } \ No newline at end of file diff --git a/TabletDemo/Classes/Presentation/Controllers/MainController.swift b/TabletDemo/Classes/Presentation/Controllers/MainController.swift index 905c33f..b055272 100644 --- a/TabletDemo/Classes/Presentation/Controllers/MainController.swift +++ b/TabletDemo/Classes/Presentation/Controllers/MainController.swift @@ -30,7 +30,7 @@ class MainController: UIViewController { - let a = TableRowAction(.Click) { + let a = TableRowAction(.click) { (row) in } @@ -41,10 +41,15 @@ class MainController: UIViewController { let row2 = TableRow(item: "2") let row3 = TableRow(item: "3", actions: [a]) + row1 + .action(TableRowAction(.click) { (row) in - .addAction(TableRowAction(.Click) { (row) in - + + }) + .action(TableRowAction(.click) { (row) -> String in + + return "" })