2016-02-06 65 views
0

如何從提取中排除字段?比如我有3個領域:從提取中排除屬性/字段 - 核心數據

  1. username : String?

  2. password : String?

  3. 圖像的capturedImages : NSSet? //我想從獲取

排除這一點,我想排除capturedImages因爲它可能包含大量圖像。如果我只想獲取usernamepassword,我應該怎麼做?

+0

你嘗試setPropertiesToFetch爲你的NSFetchRequest? – Allen

+0

@艾倫你能舉個例子嗎?我還沒有嘗試過 –

+1

@EncioPeter類似於「request.propertiesToFetch = [」屬性A「,」屬性B「...]」 – Allen

回答

2

由於capturedImages是一種關係,因此這些實體不會被預取(默認情況下),但作爲a fault in your object graph的一部分存在。

只有在您專門訪問設置的項目之後,纔會檢索到您的圖像。

在一個不相關的說明中,您可以按如下方式修改您的子類,以便使用Swift中的對象更容易。

  • 如果在模型中不可選,則不要將屬性定義爲可選屬性。
  • 使用Swift Set類型代替NSSet
  • 強烈地鍵入一組的內容。

    @NSManaged var username: String 
    @NSManaged var password: String 
    @NSManaged var capturedImages: Set<Image> 
    

這消除了不必要的解包和鑄造,以及允許它在編譯之前斯威夫特鍵入檢查你的代碼。