From 7083462aca4b279e28dbeac6da4d661029f7d5e1 Mon Sep 17 00:00:00 2001 From: Max Sokolov Date: Fri, 6 May 2016 19:03:36 +0300 Subject: [PATCH] add valueAction --- .../UserInterfaceState.xcuserstate | Bin 10802 -> 12275 bytes Tablet/TableRowBuilder.swift | 8 ++++---- .../Controllers/MainController.swift | 12 +++++++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Tablet.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate b/Tablet.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate index 87b462673907f2820a85dec730732ebdebebac16..c9f97f271711b0245f54b2ae1789a32474cd1224 100644 GIT binary patch delta 7635 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 delta 6437 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 A3IG5A diff --git a/Tablet/TableRowBuilder.swift b/Tablet/TableRowBuilder.swift index b3429d2..e1ba1bc 100644 --- a/Tablet/TableRowBuilder.swift +++ b/Tablet/TableRowBuilder.swift @@ -26,7 +26,7 @@ public typealias ReturnValue = AnyObject? enum ActionHandler { case Handler((data: ActionData) -> Void) - case ReturnValueHandler((data: ActionData) -> AnyObject?) + case ValueHandler((data: ActionData) -> AnyObject?) func invoke(data: ActionData) -> ReturnValue { @@ -34,7 +34,7 @@ enum ActionHandler { case .Handler(let handler): handler(data: data) return true - case .ReturnValueHandler(let handler): + case .ValueHandler(let handler): return handler(data: data) } } @@ -104,9 +104,9 @@ public class TableRowBuilder return self } - public func action(type: ActionType, handler: (data: ActionData) -> ReturnValue) -> Self { + public func valueAction(type: ActionType, handler: (data: ActionData) -> ReturnValue) -> Self { - actions[type.key] = .ReturnValueHandler(handler) + actions[type.key] = .ValueHandler(handler) return self } diff --git a/TabletDemo/Classes/Presentation/Controllers/MainController.swift b/TabletDemo/Classes/Presentation/Controllers/MainController.swift index 36f107f..2c1ad9e 100644 --- a/TabletDemo/Classes/Presentation/Controllers/MainController.swift +++ b/TabletDemo/Classes/Presentation/Controllers/MainController.swift @@ -22,9 +22,19 @@ class MainController: UIViewController { super.viewDidLoad() let rows = TableConfigurableRowBuilder(items: ["1", "2", "3"]) - .action(.click) { [unowned self] data -> Void in + .action(.click) { [unowned self] e in self.performSegueWithIdentifier("headerfooter", sender: nil) } + .valueAction(.click) { data in + return 10 + } + .action(.click) { data in + self.performSegueWithIdentifier("headerfooter", sender: nil) + } + .action(.click) { data in + + + } print("", String(TableDirector.self))