2012-04-21 47 views
0

我想弄清楚如何在運行時(由用戶創建)創建一個新的對象模板,然後使用該模板創建新的對象來填充列表。例如,假設你想要一個聯繫人列表。用戶將創建一個模板,其中包含名稱,電話,電子郵件等通用對象的NSMutable數組。然後,當他們完成創建模板後,他們可以隨時添加基於該模板的新聯繫人,而無需重建模板。所有的模板對象都將由通用對象嵌套在其自身內部,並將其值設置爲不同的數據類型,然後將所有那些通用對象存儲在另一個通用對象(僅包含數組)中。我希望我不會讓這個聲音太混亂......基本上只是能夠在運行時創建自定義對象模板,然後才能夠使用這些模板。任何人都知道一個好的方法呢?我想讓我的應用程序中的數據存儲通用,以便適用於任何人的數據。謝謝。在運行時創建新的對象模板iPhone

回答

1

我不完全確定你的最終目標是什麼,但是你可以採用'Interface Builder'方法。您有視圖來構建模板,然後將每個元素轉換爲xml格式。您只需讀取xml,創建適當的UI元素,然後將它們添加到容器視圖中的正確位置即可。這種方法存在的一個問題是,如果您需要將數據發送到元素,那麼如果模板中有多個類型,則幾乎不可能獲得正確的元素。您可以使用數組,字典或xml來存儲一個鍵(元素的名稱)和一個值(該元素,這將不需要使用xml方法)。對不起,如果這是混亂。

+0

這聽起來像它可能是一個很好的方法,它的視覺方面。動態創建數據結構以存儲創建的對象的最佳方式是什麼?我想可能是嵌套字典或其他東西,然後使用xml模板來了解包含的內容。 – Davido 2012-04-23 13:51:16

+0

解決這個問題的好方法是使用字典和數組。我不確定如何解釋這一點,但我會用一個例子:你有一個數組(你的窗口),它包含一個字典列表(它是子視圖)。在這些字典中,您將擁有屬性,如類的字符串,座標的數組等等。然後,您可以爲該視圖的子視圖創建一個數組,直到可以表示所有數據。也可以將所有的值包裝到NSValues中以獲得較小的存儲空間。希望這可以幫助。 – 2012-04-24 05:21:40

1

在iOS上有幾種可用的讀寫對象的方法。最着名和廣泛使用的是Core Data和Plists。

如果您是初學者,我建議您爲自定義對象「模板」保存一組屬性(可能爲字符串?)。有關教程,請參閱here,並搜索其他任何可能出現的內容。

+0

核心數據可能是一個很好的方法,我從來沒有使用它,我不知道它有什麼可能。我只是想弄清楚如何在運行時創建自定義數據結構,然後存儲和檢索這些自定義結構數組中的數據。 – Davido 2012-04-23 13:51:30