gpt4 book ai didi

iphone - 数据未传递给 View

转载 作者:行者123 更新时间:2023-11-29 04:54:47 25 4
gpt4 key购买 nike

我想将在 tableView 中选择的“人类”传递给 detailViewController。我通过 Storyboards 在 Interface Builder 中将它们连接起来,并设置了自己的 segue 标识符。调用 NSLog 但它返回 (null)。另外,在详细 View 中,除了默认内容之外什么都没有显示......

我的tableViewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"didSelectRow"]) {
DetailViewController *detailViewController = (DetailViewController *)[segue destinationViewController];
Human *employee = [[Human alloc] init];
employee = [people objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
[detailViewController setHuman:employee];

}
}

还有detailViewController

-(void)setHuman:(Human *)human
{
NSLog(@"%@",employee.name);
employee = human;
nameLab.text = employee.name;
descriptionLab.text = employee.description;
imageViewBig.image = [employee imageForName];
}

提前致谢!

最佳答案

setHuman 中的变量 human 包含 employee。因此,您应该将变量 human 分配给函数中 DetailViewController@property human 。或者更好的是,只需从外部分配属性即可:detailViewController. human = employee

您的 NSLog 返回 null,因为您people 分配给 employee 之前调用它。

也许选择重复性较低的 ivar 名称会有所帮助。

关于iphone - 数据未传递给 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215832/

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