gpt4 book ai didi

ios - 将选定的行复制到一个数组,该数组填充 Xcode 中的另一个 UITableView

转载 作者:行者123 更新时间:2023-11-28 17:33:53 25 4
gpt4 key购买 nike

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

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

自从我 4 个月前开始学习如何编码以来,我不知 Prop 体该如何进行。我应该使用委托(delegate)吗?或者别的什么?如果有任何帮助,我将不胜感激。

最佳答案

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

在 SecondTableViewController.h 中,定义协议(protocol):

@protocol SecondDelegate <NSObject>
@required
- (void) didSelectRows:(NSArray *)rows;
@end

@interface SecondTableViewController : UITableViewController
@property (retain) id<SecondDelegate> delegate;
@end

在 OriginalTableViewController 中,实现协议(protocol):.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 之前设置委托(delegate)属性:

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];
}

希望这对您有所帮助。

关于ios - 将选定的行复制到一个数组,该数组填充 Xcode 中的另一个 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com