gpt4 book ai didi

ios - 将数据从 tableview 传回 Viewcontroller

转载 作者:行者123 更新时间:2023-11-29 00:31:50 28 4
gpt4 key购买 nike

我有 ViewController 和 TableViewController。在 ViewController 中,我有 2 个按钮和 2 个文本字段,当单击按钮 1 时,它将导航到带有静态数据的 UITableView,例如(Apple、三星、黑莓、Windows),单击按钮 2 时,它将导航到 UITableView 静态数据(医生、工程师、商人,员工)当我选择任何行时,它应该显示在单击按钮 1 的文本字段 1 中,单击按钮 2 的文本字段 2 中单击 ViewController。以下是我在学习过程中尝试过的,我不知道它是否正确。

CustomerVC.h

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (IBAction)button1Click:(id)sender;
@property (strong, nonatomic) IBOutlet UITextField *txtField1;

- (IBAction)button2Click:(id)sender;
@property (strong, nonatomic) IBOutlet UITextField *txtField2;



CustomerTableVC.h

#import <UIKit/UIKit.h>
@interface DetailsViewController : UITableViewController
@end

CustomerTableVC.m

#import "DetailsViewController.h"
@interface DetailsViewController ()
{
NSArray *array1,*array2;
}
@end

@implementation FamilyDetailsViewController

- (void)viewDidLoad {
[super viewDidLoad];

array1=[[NSArray alloc]initWithObjects:@"Apple",@"Samsung",@"Blackberry",@"Windows", nil];

array2=[[NSArray alloc]initWithObjects:@"Doctor",@"Engineer",@"Businessman",@"Employee", nil];
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return [array1 count];
return [array2 count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text=[arrqy1 objectAtIndex:indexPath.row];
cell.textLabel.text=[arrqy2 objectAtIndex:indexPath.row];

return cell;
}

#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

[self.navigationController popViewControllerAnimated:YES];
}

最佳答案

您应该使用 Unwind segue 从您的 tableview Controller 传回数据..

要遵循的步骤:

假设 A 和 B 是两个 Controller ,您首先使用一些数据从 A 导航到 B。现在您想使用一些数据从 B 弹出到 A。

Unwind Segues 是执行此操作的最佳和推荐方法。以下是步骤。

  1. 上午开放
  2. 定义如下方法

    @IBAction func unwindSegueFromBtoA(segue: UIStoryNoardSegue) {

    }
  3. 打开 Storyboard

  4. 选择 B ViewController 并单击 ViewController outlet。按控制键并拖动到“退出”导出并将鼠标留在此处。在下图中,选中的图标是 ViewController outlet,最后一个带有 Exit 标志的是 Exit Outlet。

  5. 您将在弹出窗口中看到“unwindSegueFromBtoA”方法。选择此方法。

  6. 现在您将在左侧的 View Controller 层次结构中看到一个 segue。您将在下图中的 StoryBoard Entry Piont 附近看到您创建的 segue。

You View Hierarchy

  1. 选择它并为其设置标识符。 (建议设置与method同名-unwindSegueFromBtoA)

  2. 打开 B.m。现在,无论你想弹出到 A. 使用

    self.performSegueWithIdentifier("unwindSegueFromBtoA", sender: dataToSend)
  3. 现在,当您弹出到“A”时,将调用“unwindSegueFromBtoA”方法。在“A”的 unwindSegueFromBtoA 中,您可以访问“B”的任何对象。

就是这样......!

关于ios - 将数据从 tableview 传回 Viewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41562266/

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