gpt4 book ai didi

ios - 一个 TableView 中的多个按钮

转载 作者:行者123 更新时间:2023-11-29 03:32:34 29 4
gpt4 key购买 nike

有人能指出我正确的方向吗?我有一个带有多个按钮的 View Controller 。我希望按下按钮打开我自定义的一个 TableView Controller 并动态加载数据。我知道我可以为每次按下按钮制作多个 TableView Controller ,但我认为必须有一种动态地执行此操作的方法。让我清楚一点,另一个 View 将决定将哪些数据加载到 TableView Controller 中。我是 iOS 和 Objective-C 的新手,但不是编程的新手,所以在火箭科学的答案上放轻松。如果您需要查看一些代码,请告诉我。

基本上我在一个 View Controller 上有 4 个按钮,当按下这些按钮时将确定要在 Table View 上加载哪些数据。现在让我们保持简单,只说数据是 4 个 NSMutable 数组。

编辑:根据 babygau 的帖子,这是我想出的:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"allCattleSegue"]) {
CattleTableViewController *controller = segue.destinationViewController;
controller.cattleArray = [[NSMutableArray alloc] initWithObjects:@"cattle1",@"cattle2",@"cattle3", nil];
}
else if ([segue.identifier isEqualToString:@"bullsSegue"]){
CattleTableViewController *controller = segue.destinationViewController;
controller.cattleArray = [[NSMutableArray alloc] initWithObjects:@"bull1",@"bull2",@"bull3", nil];
}
}

- (IBAction)allCattleTouchUpInside:(UIButton *)sender {
[self performSegueWithIdentifier:@"allCattleSegue" sender:self];
}

- (IBAction)bullsTouchUpInside:(UIButton *)sender {
[self performSegueWithIdentifier:@"bullsSegue" sender:self];
}

这完成了工作,但现在当我按下后退按钮时,我的导航无法正常工作。它给我一个空白屏幕。

更新:调试我看到它调用了 prepareForSegue 两次;一次以 Controller 作为发送者,一次以按钮作为发送者。仍在尝试了解其工作原理以及如何解决此导航问题。

已解决:显然我不需要连接操作 (TouchUpInside)。感谢您提供的所有帮助。

最佳答案

您好,只需创建一个 Viewcontroller 和 TableViewController。为所有按钮设置标签,然后在 TableViewController 中创建一个 @property int 变量,然后按如下操作..

创建通用方法来触发UIControlTouchUpInside中的所有按钮。然后在UITableViewController中创建像这样的int变量。

TableViewController.h 您像这样创建的文件。

@property(非原子,分配)int buttonSelected;

ViewController.m 创建这样的通用方法。

-(IBAction)commonMethod:(id)sender
{
TableViewController *tableVc = [[TableViewController alloc]initWithNibName:@"TableViewController" bundle:nil];
if(button.tag==0)
{
tableVC.buttonSelected = 0;
}
if(button.tag==1)
{
tableVC.buttonSelected = 1;
}

[self.navigationController pushViewController:tableVc animated:YES];

}

TableViewConroller.m 文件执行此操作

-(void)viewDidLoad
{
[super viewDidLoad];

if(buttonPressed == 0)
{
tableDataSourceArray = ...
}
else if (buttonPressed == 1)
{
tableDataSourceArray = ...
}
}

希望对你有帮助..

关于ios - 一个 TableView 中的多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19580302/

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