2012-10-26 114 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

我正在通過向發件人發送消息進行更新。我已經包含了設置發件人的代碼,例如詳細視圖,但假定它在設置後不會被更改。事實證明,每次都會創建新的細節視圖,因此上一個鏈接將無效。每次構建視圖時,都會通過簡單地重置發件人來修復它。