2012-10-26 74 views
0

我在主控中有很多行,第一次点击一行时,内容显示在Details中。我回去,选择一个新的行,或同一行,它显示详细信息中的“Detail view content goes here”。我已经跟踪疯狂了,使用NSLog以防万一它是某种事件重新排序,在视图和UIControl实例中使用setNeedsDisplay。一切都以正确的顺序跟踪出来,但没有任何内容显示新内容。 NSLog显示新内容在控件中,只是没有显示。任何援助都会受到欢迎,这让我疯狂。iOS主控细节应用 - 细节仅显示第一次

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"showDetail"]) { 
     NSIndexPath *indexPath = [[self tableView] indexPathForSelectedRow]; 
     NSObject *object = [[[self objects] objectAtIndex:[indexPath section]] objectAtIndex:[indexPath row]]; 
     [[segue destinationViewController] setDetailItem:object]; 
    } 
} 
+0

看起来你在'didSelectRowAtIndexPath:'方法中的代码有问题。 “Detail view content goes here”来自XCode模板中的DetailViewController。一般来说,尤其是在这种情况下,你应该提供你的代码。至少形成上述方法。 – Tobi

+1

将'didSelectRowAtIndexPath:'的代码添加到您的问题 - 否则这是纯粹的猜测工作。 – Till

+0

如果您正在使用故事板,则相当于prepareForSegue方法。 –

回答

0

我正在通过向发件人发送消息进行更新。我已经包含了设置发件人的代码,例如详细视图,但假定它在设置后不会被更改。事实证明,每次都会创建新的细节视图,因此上一个链接将无效。每次构建视图时,都会通过简单地重置发件人来修复它。