细节视图加载两次
Detail View loaded twice
嗯..
我在我的应用程序中设置了 table 视图 - 详细视图。
主视图使用常规代码将数据传递到详细视图
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.savedSelectedIndexPath = [self.tableView indexPathForSelectedRow];
[self performSegueWithIdentifier:@"showDetail" sender:self];
}
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"showDetail"]){
NSIndexPath *indexPath = self.savedSelectedIndexPath; //get the index path of the row selected
Event *event = [self.eventList objectAtIndex:indexPath.row]; // now get the content of that row
EventDetail *eventDetailView = (EventDetail *)segue.destinationViewController;
eventDetailView.eventDetail = event;
}
}
但是由于某种原因,详细视图被加载了两次。
第一次加载看起来很正常,后退按钮指向主视图。但是当第一次加载完成时,它再次重新加载视图,后退按钮指向第一次加载..
当我在 ViewDidLoad 中 运行 一个 NSLog 时,我可以看到 NSLog 被记录了两次...
我不确定为什么要这样做..
这是我在详细视图中的 ViewDidLoad 中的内容:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"page loaded");
self.eventTitleIB.text = eventDetail.eventTitle;
self.eventLocationIB.text = eventDetail.address;
self.eventTimeIB.text = eventDetail.eventTime;
self.eventPointsIB.text = eventDetail.points;
self.pointRuleIB.text = [NSString stringWithFormat: @"Single Event is worth %@ points", eventDetail.points];
self.eventDetailIB.text = eventDetail.eventDescription;
NSLog(@"content loaded");
}
谢谢大家的帮助!!
tableviewcell 和 detailviewcontroller 之间是否有 segue 链接?在这种情况下,删除 [self performSegueWithIdentifier:@"showDetail" sender:self];
嗯..
我在我的应用程序中设置了 table 视图 - 详细视图。
主视图使用常规代码将数据传递到详细视图
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.savedSelectedIndexPath = [self.tableView indexPathForSelectedRow];
[self performSegueWithIdentifier:@"showDetail" sender:self];
}
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"showDetail"]){
NSIndexPath *indexPath = self.savedSelectedIndexPath; //get the index path of the row selected
Event *event = [self.eventList objectAtIndex:indexPath.row]; // now get the content of that row
EventDetail *eventDetailView = (EventDetail *)segue.destinationViewController;
eventDetailView.eventDetail = event;
}
}
但是由于某种原因,详细视图被加载了两次。 第一次加载看起来很正常,后退按钮指向主视图。但是当第一次加载完成时,它再次重新加载视图,后退按钮指向第一次加载..
当我在 ViewDidLoad 中 运行 一个 NSLog 时,我可以看到 NSLog 被记录了两次...
我不确定为什么要这样做..
这是我在详细视图中的 ViewDidLoad 中的内容:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"page loaded");
self.eventTitleIB.text = eventDetail.eventTitle;
self.eventLocationIB.text = eventDetail.address;
self.eventTimeIB.text = eventDetail.eventTime;
self.eventPointsIB.text = eventDetail.points;
self.pointRuleIB.text = [NSString stringWithFormat: @"Single Event is worth %@ points", eventDetail.points];
self.eventDetailIB.text = eventDetail.eventDescription;
NSLog(@"content loaded");
}
谢谢大家的帮助!!
tableviewcell 和 detailviewcontroller 之间是否有 segue 链接?在这种情况下,删除 [self performSegueWithIdentifier:@"showDetail" sender:self];