【问题标题】:Copy a selected row to an array that populates another UITableView in Xcode将选定的行复制到填充 Xcode 中另一个 UITableView 的数组
【发布时间】:2012-05-01 20:19:10
【问题描述】:

这是我的问题:我有两个要调用的 UITableViewController。 OriginalTableViewController 和 SecondTableViewController。 SecondTableViewController 由 NSMutableArray 和 UISegmentedControl 填充,用户可以在其中导航一堆数据并选择多行。

我想要做的是使用户能够选择多行,单击导航栏中的保存按钮,然后单击确定以关闭视图并返回 OriginalTableViewController 必须由所选行填充SecondTableViewController。

自从我 4 个月前开始学习如何编码以来,我不知道该怎么做。我应该使用委托吗?还是别的什么?我将不胜感激。

【问题讨论】:

    标签: ios xcode uitableview ios5 delegates


    【解决方案1】:

    对于您的问题,委托将是最佳选择。您在 SecondTableViewController 中定义协议并在 OriginalTableViewController 中实现该协议。当按下 Save 按钮时,第二个表通知原始表选择数据,原始表可以弹出/关闭第二个表并重新加载它的表。

    在 SecondTableViewController.h 中,定义协议:

    @protocol SecondDelegate <NSObject>
    @required
    - (void) didSelectRows:(NSArray *)rows;
    @end
    
    @interface SecondTableViewController : UITableViewController
    @property (retain) id<SecondDelegate> delegate;
    @end
    

    在 OriginalTableViewController 中,实现协议: .h:

    @interface OriginalTableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, SecondDelegate>
    

    .m:

    - (void) didSelectRows:(NSArray *)rows {
        // Update the model with selected data and reload. Also pops/dismisses second table.
    }
    

    并在推送/呈现 SecondTableViewController 之前设置委托属性:

    SecondTableViewController *second = nil; // instantiate the vc some how
    second.delegate = self;
    

    在SecondTableViewController.m中,实现save方法:

    - (void) save {
        NSMutableArray *array = [NSMutableArray array];
        for (NSIndexPath *indexPath in [self.tableView indexPathsForSelectedRows]) {
            // Populate array with selected objects.
        }
        [self.delegate didSelectRows:array];
    }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-11
      • 2022-10-14
      • 1970-01-01
      • 2023-03-06
      • 2013-04-25
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      相关资源
      最近更新 更多