2010-11-17 55 views
1

我目前正在計劃(和部分編碼)一個新的應用程序。我有一組用戶創建的項目。這實際上是圖書館。將此視爲經典配料和膳食是最容易的。iPhone中的項目數組的唯一標識符

我有一個配料庫。 然後我有一個餐廳的圖書館。每餐都含有幾種食材。

因此,這種關係是許多成分的一餐。每種成分都可以用於多餐。 我可以設置所有這些 - 但我正在考慮如何在膳食中確定成分。如果我刪除了一種成分,那麼我想在每頓飯中刪除可能出現的參考。

我應該爲用戶創建的每種成分分配一個隨機ID(可能是一個5位數字),然後當他們將這添加到膳食中時,我使用5位ID作爲標識符。當用戶刪除一種成分時,我會循環遍歷每個膳食數組,並刪除對所述成分5位數代碼的任何引用。

或...我完全在想這個嗎?! 感謝您的幫助!

回答

0

只是做一個:[項目散列]

但是......

這聽起來像你想只創建你的「餐點」引用數組到你的「成分」。 NSArray或NSMutableArray將保留您的「成分」 - 並在陣列發佈時釋放它。

+0

謝謝布拉德。我剛剛在查看項目散列。這似乎引用陣列項目記憶,如果我正確思考?你說得對,膳食數組只是一堆參考成分。 NSMutableArray是我前進的方向。去看CFArray,因爲我以前從未使用過它們。謝謝。 – 2010-11-17 20:55:46

+0

我有點模糊 - 但我相信NSArray會簡單地保留放置在其中的對象。 (我原本以爲NSArray會複製它,但我不認爲是這種情況)。 – Brad 2010-11-17 20:58:14

+0

NSArray的確保留了它的NSObject。 – 2010-11-18 00:25:28

1

如何使用sqlite存儲食材和膳食?不知道你實際編碼的是什麼,但它聽起來像是一個很好的數據庫應用程序。

如果你不需要永久存儲數據(例如你實際上正在談論某個遊戲或某件事情),那麼你仍然可以在臨時表中使用db)。

+0

謝謝約瑟。我之前已經走過了核心數據/ SQLite的路線 - 但這對於這一點來說是過度的。該應用程序是一個簡單的烹飪程序。我只需要儲存配料的名稱和烹飪時間。然後用這些配料補充食物。我可能會簡單地做一個新的膳食陣列,並複製到這頓飯的ingregients - 但不是陣列項目。簡單的內容,並保留在新的。所以它沒有被引用。只會有少量的飯菜。謝謝回覆。 – 2010-11-18 10:19:31