2015-10-05 66 views
1

我們的iOS應用程序中有多個對象,並且彼此之間的關係引用是嵌套關卡。我們的應用程序非常多線程。隨着境界(目標C)數據庫的選擇,下面的問題都來了,期待答案:iOS應用程序中多個對象的多個領域

  1. 我們應該去與單一領域或多個領域,每一個對象?
  2. 對於單個/多個方法,我們是否需要考慮低內存問題?請注意,我們有成千上萬的對象需要處理,並且將使用保存在磁盤上的領域。
  3. 我們是否需要擔心成千上萬的對象會增加領域的大小?如果我們使用多個領域,它是否適用於來自多個領域的鏈式查詢?
  4. 要從多個領域訪問對象時要考慮的任何最佳實踐/約束?如何處理多個領域文件的多線程?它是否需要特殊處理而不是單一領域的多線程?

回答

1

簡短的回答是,你應該使用一個領域。 Realm是一個關於對象和關係的文件。無法跨多個領域進行查詢。因此,如果你的對象根本不相關,並且你沒有與其他領域中的對象的關係,那麼只能在多個領域中分割。數以千計的物體完全沒有問題。

+0

感謝寶貝的快速反應。這不會導致iOS設備上的內存不足問題,只有一個領域文件存儲大量對象,每個對象類型都有數千個實例?大數據領域有什麼大小限制,存在於磁盤上嗎? – Rashmi

+1

這顯然取決於每個對象的大小。領域將存儲映射整個文件,粗略地說,只有你「觸摸」的對象將被加載到內存中。有一些設備特定的限制,但它也取決於你的內存是多麼分散。但總的來說,即使有幾百MB也不應該有問題。所以我建議你在低端設備上進行自己的測試。 – bmunk