2010-06-06 26 views

回答

3

有些牽強對於性能用途:

  1. 有序關係。核心數據對多關係模擬一個(無序)集合。您可以使用帶有排序描述符的fetched屬性來提供有序關係的外觀(假定對元素有自然順序)。
  2. 跨店關係。核心數據中的關係不能跨越持久性存儲。您可以使用提取的屬性來模擬這種關係,例如將目標的objectIDs存儲在可轉換屬性中,並獲取該對象ID集合中的元素。顯然,真正的跨店關係存在問題,因爲在訪問時無法保證其他商店的存在。
  3. 已過濾的關係。雖然提取的屬性不是「實時」(如iTunes的智能播放列表),但它們可用於根據連接對象圖中任何對象的屬性(持久或瞬態)輕鬆過濾一個或多個關係的成員。
+0

因此,基本上,我也可以簡單地使用普通屬性和關係(不提取),然後在我的代碼中的其他地方製作一些奇特的獲取請求方法,以接近相同的東西嗎? – dontWatchMyProfile 2010-06-07 10:35:17

+0

那麼,你不能使用普通關係進行跨存儲鏈接,否則,是的,除了SQLite持久性存儲之外,獲取的屬性可以在數據庫中執行,從而在速度和內存使用方面帶來好處。 – 2010-06-07 16:15:44