2015-08-17 69 views
0

我有一個songs = [Song]()歌曲對象陣列在我的選項卡欄的第一個視圖控制器中生成。使用tabbarcontroller下多個視圖控制器中的數據

如何在UITabBarController的其他視圖控制器中使用此數組?

我需要在我的初始視圖控制器中顯示一個包含所有歌曲的表格,但也需要在第二個視圖控制器中使用此數據,該表格只包含最喜歡的歌曲。

+0

你是如何創建這個數組的?從coreData? – dudeman

+0

我的第一個視圖控制器現在通過解析一個XML文件來創建它。 –

回答

0

我認爲一個好的解決方案是創建另一個類來管理歌曲數據。基本上,你想爲視圖控制器添加一個模型來查看。在這個新類中,您可能會決定使用單例向每個查看數據的對象提供完全相同的數據。這與核心數據的作用類似,我認爲你應該考慮使用它(核心數據與xml一起使用)。但是,通過讓視圖控制器以外的類管理數據,任何需要訪問數據的視圖控制器(或任何其他對象)只需要向數據類請求數據。

+0

所以,你說這裏的最佳做法是定義另一個「歌曲」類,並在那裏進行解析? –

+0

嗯,不完全。我可能會做一首歌曲課程,其中包含任何一首特定歌曲的所有必需信息。然後,我想要一些管理所有歌曲對象的方法(這是核心數據真正有用的地方)。如果你不使用核心數據,我會創建一些類來爲我完成所有的管理。這個班級應該將特定的信息傳遞給Song類(即xml的片段)以允許歌類創建對象。然後這個班級應該跟蹤所有這些對象,並根據需要傳遞給他們。 – dudeman

相關問題