gpt4 book ai didi

iphone - 根据第一个 View Controller 中选择的行更改第二个 View Controller 中的信息

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

好吧,首先我得说我在 iOS 领域有点菜鸟。也就是说,我将进一步解释我的问题。

我正在制作一个应用程序,用户可以在其中获取动物列表。当用户从列表中选择一种动物时 --> 第二个 View Controller 打开,并且 ImageView 必须设置为所选动物+有该动物的描述。

这部分代码在我的viewController2.m的ViewDidLoad中

- (void)viewDidLoad
{
[super viewDidLoad];

[self.navigationItem setTitle:@"Animal"]; //here the title has to be set to the animal but I will try this later

// Do any additional setup after loading the view from its nib.
UIImage * cowImage = [UIImage imageNamed:@"cow.png"];
UIImage * horseImage = [UIImage imageNamed:@"horse.png"];

ViewController1 *viewController1 = [[ViewController1 alloc]init];

characterNumber = viewController1.pickedRow;

//set the uiimageview based on characternumber
switch (characterNumber) {
case 0:
foto.image = pukkelpopImage;
detailInfo.text = @"blabla";
[self.navigationItem setTitle:characterName];
break;
case 1:
foto.image = cactusImage;
break;
default:
break;
}

}

在我的 ViewController 1.m 中,当选择一个项目时,我有这个方法。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{


ViewController2 *ViewController22 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];

[[self navigationController] pushViewController:ViewController22 animated:YES];

pickedRow = indexPath.row; //As you can see here I try to get which row was tapped


}

问题可能出在哪里?感谢您的阅读

最佳答案

您正在 viewController2 中分配 viewController1 的新实例,这与推送 viewController2 的 viewController1 实例完全无关。

尝试在 viewController2 中声明一个 NSInteger 属性来存储选取的行,并在将其推送到 didSelectRowAtIndexPath 之前设置 viewController2 实例的值。

在 ViewController2.h 中声明属性:

@property (nonatomic) NSInteger pickedRow;

在 ViewController1.m didSelectRowAtIndexPath 中,在初始化 viewController2 实例后、推送之前设置该属性:

viewController2.pickedRow = indexPath.row;

无需在ViewController2.m中初始化viewController1:

// ViewController1 *viewController1 = [[ViewController1 alloc]init];

变量characterNumber可以用self.pickedRow替换。

关于iphone - 根据第一个 View Controller 中选择的行更改第二个 View Controller 中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16966541/

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