gpt4 book ai didi

ios - 为什么我的详细 View 没有反射(reflect)我的选择?

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

我正在学习 iOS 开发并阅读 Apple 的教程(即“您的第二个 iOS 应用程序”)并构建一个观鸟应用程序。长话短说,它是一个鸟类列表,您在表格 View 中选择鸟类,它会转到一个新 View ,显示有关鸟类的更多详细信息。

一切似乎都正常,但是在继续之后,新 View 没有被填充。它是空的。

我认为它可能在我的 prepareForSegue: 方法中,但当我将 NSLog 放入其中进行测试时,它确实被触发了。

这是 prepareForSegue: 方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"DetailViewSegue"]) {
CSBirdDetailViewController *detailViewController = segue.destinationViewController;
CSBirdSighting *selectedBirdSighting = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];

detailViewController.birdSighting = selectedBirdSighting;
detailViewController.birdNameLabel.text = @"Stinker";
NSLog(@"HEY THERE!");
}
}

以下是完整的 Xcode 项目(相当小)以获取更多信息:http://cl.ly/37041I2K0N24

我只是不明白为什么它不会显示。使用上面的方法,我从模型(主视图/源 View Controller 使用的单独类)设置destinationViewController(详细 View )的数据。我设置的数据本质上是一个 BirdSighting 对象,该类随后会读取该对象。

最佳答案

尝试放置

[self configureView];

在你的CSBirdDetailViewController viewDidLoad方法中而不是在prepareForSeque:方法中

prepareForSegue: 方法对于 View 的配置还为时过早。

View 在第一次访问 View 时创建(延迟加载)。它不是在首次启动 CSBirdDetailViewController 时创建的。

关于ios - 为什么我的详细 View 没有反射(reflect)我的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078116/

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