我有一個核心數據模型設置像這樣:如何創建一個基於屬性和關係過濾核心數據對象的NSFetchRequest?
- 一鳴驚人實體
- 一對多關係DVD實體。
- DVD實體
- 標題屬性(字符串)
- to-one的父關係大片實體
單個大片可以有它內部有多個DVD(To-Many)。每張DVD只能是單個Blockbuster(To-One)的一部分。
有多個Blockbuster的,有些可能包含與其他Blockbuster的DVD實體共享相同標題的DVD實體。例如,Blockbuster A可能具有「變形金剛2」的副本,並且Blockbuster C和Blockbuster G。讓我們假裝沒有Blockbuster擁有同一部電影的多個副本。
我想抓住變形金剛2 DVD從Blockbuster C。我不想從Blockbuster A或G的拷貝,因爲我的老闆在那裏經常出現,我只能逃脫燃燒這塊垃圾在Blockbuster C。
我的問題是,我該如何形成NSFetchRequest它抓起DVD與冠軍「變形金剛2」,這是一鳴驚人「C」父實體的一個孩子?
這種類型的請求將抓住所有的「變2」的DVD,而不是一個具體的大片Ç實體:
NSManagedObjectContext *moc = [self managedObjectContext];
NSString *aTitle = @"Transformers 2";
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title == %@", aTitle];
[request setEntity:[NSEntityDescription entityForName:@"DVD" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
// error handling code
[request release];
有沒有辦法通過,比方說,一個對象ID NSPredicate內部的相關對象,基於這個過濾?
非常感謝,做到了!並感謝鏈接到文檔。很有幫助。 :) – 2009-10-06 22:26:47