From 1a1123c7dabbe480aff345b695e13d3a735c9c8e Mon Sep 17 00:00:00 2001 From: Mark Rickert Date: Sat, 13 Sep 2014 15:49:47 -0500 Subject: [PATCH] Allow args to be just an NSIndexPath or an array of them. --- lib/ProMotion/table/table.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/ProMotion/table/table.rb b/lib/ProMotion/table/table.rb index f8d67b5..afd2c81 100644 --- a/lib/ProMotion/table/table.rb +++ b/lib/ProMotion/table/table.rb @@ -125,12 +125,16 @@ module ProMotion table_cell end - def update_table_data(index_paths = nil) - if index_paths - index_paths = [index_paths] unless index_paths.is_a?(Array) + def update_table_data(args = {}) + # Try and detect if the args param is a NSIndexPath or an array of them + args = { index_paths: args } if args.is_a?(NSIndexPath) || (args.is_a?(Array) && args.first.is_a?(NSIndexPath)) + + if args[:index_paths] + args[:animation] ||= UITableViewRowAnimationNone + index_paths = [args[:index_paths]] unless args[:index_paths].is_a?(Array) table_view.beginUpdates - table_view.reloadRowsAtIndexPaths(index_path, withRowAnimation:UITableViewRowAnimationNone) + table_view.reloadRowsAtIndexPaths(index_paths, withRowAnimation:args[:animation]) table_view.endUpdates else self.update_table_view_data(self.table_data)