2010-11-11 92 views
0

服務器我必須表現出導航圖,其中的意見數量與服務器相關。所以我不能硬編碼視圖控制器。有什麼辦法可以使用1視圖控制器,並且數據將由服務器發送。所以基本上它的工作是這樣的:從服務器...顯示 1.獲取數據使用導航控制器導航視圖。 2.有一次,我在一個實體輕點......我得到的另一組數據從服務器...使用相同的控制器顯示在屏幕上...答等等......因爲我不知道,直到什麼水平我們可以向下鑽取。 3.一旦用戶點擊後退按鈕...我將使用本地緩存的數據在相同視圖中呈現...導航控制器 - 驅動型數據

看到任何問題在這裏。我想知道是否可以在堆棧中多次推送相同的控制器類的對象。

請指導。

回答

0

只要它們是不同的對象也將正常工作。

YourNavViewController *firstNavViewController = [[YourNavViewController alloc] initWithNibName:@"YourViewXib" bundle:nil]; 
[self.navigationController pushViewController:firstNavViewController animated:YES]; 
[firstNavViewController release]; 

後來到一個:

YourNavViewController *secondNavViewController = [[YourNavViewController alloc] initWithNibName:@"YourViewXib" bundle:nil]; 
[self.navigationController pushViewController:secondNavViewController animated:YES]; 
[secondNavViewController release]; 

0

一點問題都沒有。你可以動態地將UIViewControllers推入你的UINavigationControllers viewController數組中。你應該,你所說的,實現對設備上的內容進行緩存的機制,所以你不必重裝所有的東西所有的時間。

一種方法是通過你,只有當它不同於你已在設備上本地存儲(通過哈希值,更新時間戳的版本號例如比較)服務器加載XML結構。

0

您不能推送相同對象棧上多次,但它聽起來像是你想多次實例相同類,並推動各那些對象。

因此,如果您收集的數據是XML(例如),並且您有一個從NSXMLParser類解析的對象層次結構,那麼對於層次結構中的每個級別,都可以創建一個新的包含數據的視圖對象該級別,並推動這一點。