我有兩個具有彼此多對多關係的實體的核心數據模型。NSFetchedResultsController和NSPredicate以及部分名稱
例如,
Conference <<---->> Speaker
一個會議可以有許多發言者,以及一位發言者可在許多會議。
我試圖使用NSFetchedResultsController fetchRequest的主要實體是揚聲器。
儘管它確實列出了所有揚聲器,但我試圖將該部分作爲「會議」名稱並列出該部分中的所有揚聲器。我想要它,以便作爲演講者的名字「約翰」將出現在兩個部分。這意味着他是兩次會議的發言人。
這是我使用的sectionNameKeyPath:@"conferences.Name"
NSFetchedResultsController *aFetchedResultsController = [[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"conferences.Name" cacheName:@"fCache"] autorelease];
這有點不工作,我得到{TedEx}
作爲該部分的標題時,我使用[sectionInfo name]
。
另一個問題是,如果我一個發言者出現在一個部分(會議)中,它不會出現在另一個部分(即使該部分(會議)具有該發言者對象)。
這可能是因爲我將sectionName看作一組組合的會議。 TedEx, SXSW
作爲單個部分。
一些目標應該如何選擇sectionNameKeypath以僅提取一個會議並列出每個會議中的所有發言人。也許我應該設置某種謂詞?
林有點在這裏綁定,是方法有問題嗎?我已經閱讀了關於Predicates的內容,但是如果你的新核心數據很難理解。
感謝您的回答馬克,但我是NSFetchedResultsController專門詢問..我最好的Cuz的任何更改將反映在沒有任何努力該表在哪裏,因爲我不得不處理所有的提取請求。但我意識到在NSFetchResultsController中沒有辦法做到這一點 – user134611