我目前正在構建一個核心數據應用程序,我碰到了一個障礙。我想這裏的架構上的一些上下文:核心數據混淆檢索記錄
該應用程序是跟蹤治療師與她的客戶的會話。所以模式是這樣組織的:有一張客戶表,客戶有會話,會話有活動,活動有指標。在應用程序中,這些指標轉化爲簡單的計數器,計時器和NSSliders。
問題的關鍵在於客戶希望能夠將以前制定的活動插入到新客戶的新會話中。所以,我試着只做一個簡單的獲取請求,然後轉移到NSFetchedResultsController。我一直遇到這樣的問題,即由於核心數據是一個對象圖,我得到了大量實際上具有相同數據的活動條目。唯一的差異化財產將是無論會議是什麼(如果你想更進一步,客戶本身)。
我不確定這是我需要在模式本身中進行更改還是在Core Data中可以執行某種解決方法。我已經嘗試通過使用結果類型NSDictionaryResultType來使用NSFetchedResultsController執行不同的讀取結果。它完成我想要的東西,但我只獲取實體的相關屬性,而不是與它關聯的任何子實體(我需要這些度量,你會看到)。
任何幫助表示讚賞,如果需要,我可以發佈代碼,即使我沒有真正具體的編碼錯誤。
我的東西完全按照這種方式建模,我同意我不認爲應該有什麼阻止我。也許我的問題是「這是怎麼回事」? NSFetchedResultsController給了我不同的結果。 – jason328
@ jason328也許你需要編寫代碼才能獲得所需的確切Activity對象。你可以使用'NSFetchRequest'和'NSPredicate'來實現,如下所述:http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/Articles/cdFetching.html#//apple_ref/ doc/uid/TP40002484-SW1然後,您可以將該對象添加到所需的Session對象。 – 7cows
@ 7cows3,謝謝! – jason328