我正在学习 iOS 开发并阅读 Apple 的教程(即“您的第二个 iOS 应用程序”)并构建一个 Bird Watching 应用程序。长话短说,这是一个鸟类列表,您在表格视图中选择鸟类,它会转到一个新视图,显示有关鸟类的更多详细信息。
一切似乎都正常,但是在 segueing 之后新视图没有被填充。它是空的。
我认为它可能在我的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
我只是无法弄清楚为什么它不会显示。使用上面的方法,我从模型(主视图/源视图控制器使用的单独类)中设置destinationViewController(详细视图)的数据。我设置的数据本质上是一个 BirdSighting 对象,然后该类将读取该对象。