2014-08-30 67 views
0

我對iOS很新。我有一些本質上是從外部數據庫獲取的樹結構的數據,所以它的深度在應用程序的編譯時沒有定義。我想在UINavigationController中使用UITableViewControllers顯示這些信息。在這個階段,我在故事板中的UINavigationController中嵌入了一個UITableViewController,並且已經編寫了一個UITableViewController的子類來顯示樹的第一層。如何以編程方式繼續創建我創建的UITableViewController的子類的新實例,同時還創建了我在故事板中定義的原型單元格的引用。是否有可能在iOS中使用UITableViewControllers和UINavigationController設置這種結構?UINavigationController中的UITableViewController來表示未知深度的樹結構

任何幫助將不勝感激。 謝謝!

回答

1

在您的TableView委託中,將一些代碼放入didSelectRowAtIndexPath:方法中,以創建tableViewController子類的新實例。無論傳遞它填充其單元格所需的任何數據,還是使用頂級TableView委託/數據源作爲每個新實例的委託/數據源(您將不得不跟蹤數據層次結構中的位置)。然後,您可以使用self.navigationController pushViewController:animated:轉換到新的tableViewController。如果您在每個級別使用相同的子類,cellForRowAtIndexPath:方法將使用相同的單元重用標識符(除非您以其他方式編碼),所以您的原型單元應該用於每個級別。

+0

謝謝。這很好。我不得不在子類中重新定義我的原型單元格,但其他一切正常。 – kmc 2014-08-30 12:34:37