2015-03-25 53 views
0

嗯..细节查看加载两次

我有表视图 - 在我的应用程序中设置的详细视图。

硕士View使用常规代码将数据传递到详细视图

- (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"); 
} 

感谢大家的帮助!

+0

在你的故事板中,确保没有连接tableViewCell和Detail Controller的segue。 – 2015-03-25 00:49:46

+0

谢谢!我删除了参考,它工作! – Judy 2015-03-25 14:18:11

回答

0

是连接在tableviewcell和detailviewcontroller之间的segue吗?在这种情况下,删除[self performSegueWithIdentifier:@“showDetail”sender:self];

+0

谢谢哈维尔!完成工作 – Judy 2015-03-25 14:17:54