我試圖以編程方式執行獲取請求以從「EntityA」中檢索某些實體。不過,我需要將獲取請求的目的地設置爲「EntityB」,使謂詞的工作方式類似於通過XC中的檢查器面板執行的操作。不知道如何以編程方式設置此屬性?如何以編程方式指定Core Data fetchRequest的目標?
THX
我試圖以編程方式執行獲取請求以從「EntityA」中檢索某些實體。不過,我需要將獲取請求的目的地設置爲「EntityB」,使謂詞的工作方式類似於通過XC中的檢查器面板執行的操作。不知道如何以編程方式設置此屬性?如何以編程方式指定Core Data fetchRequest的目標?
THX
每次提取只有一個實體,因爲它的目標。用於提取的謂詞只能對目標實體的屬性和關係進行操作。如果您想測試另一個實體的屬性,則必須存在從目標實體到另一個實體的關係。
假設你有以下數據模型:
Alpha{
name:string
beta<-->Beta.alpha
}
Beta{
cost:number
alpha<-->Alpha.beta
}
Gamma{
date:date
}
如果用於取不Alpha
,那麼你可以創建一個測試通過每個Alpha
對象的beta
關係Beta
屬性的謂詞的目標實體。
NSPredicate *p=[NSPredicate predicateWithFormat:@"beta.number>5"];
...但你不能創建因爲沒有關係,這將訪問Gamma
屬性的謂詞。
您是否嘗試設置nsfetchrequest的實體? – Robin
我可能會感到困惑,但我將實體設置爲EntityA,這是我希望返回的實體的類型,但是我需要將目標設置爲diff實體EntityB,因爲這是我的謂詞的結構。 – James