我有一個簡單的Coredata模型,其中一個實體叫做「對話」,另一個是「消息」。基本上,我需要重現iPhone短信應用程序。我應該在持續更新關係中使用FetchedResultsController作爲對象嗎?
我從消息到會話和從對話到消息的多對一的關係。
Conversation{
messages<-->>Message.conversation
}
Message{
conversation<<-->Conversation.messages
}
無論何時我啓動我的應用程序,我的所有對話都加載到我的fetchedResultsController中。如果我正確理解Coredata是如何工作的,因爲我有一種關係,那麼與我的對話鏈接的每條消息都將被加載,對嗎?我設置了一個批處理大小,這樣我就不會同時加載所有的對話。
我的應用程序通過長時間的拉取請求連接到服務器,所以我可以隨時從服務器接收消息(將會添加到coredata,然後使用NSNotification來告訴我的意見附加內容)。
我的問題是這樣的:當我選擇一行時,我在堆棧上推另一個視圖,以便我可以看到我的消息。我想知道如何做到這一點,原因如下:
•我可以將我的NSSet消息傳遞給我的關係,對嗎?然而,正如我可以收到一條消息,同時看着那個視圖,我如何刷新傳遞給視圖的NSSet?
•我也可以在該視圖中使用另一個fetchedresultController,但在這種情況下,我會無故將我的前一個視圖中的所有消息預加載?我可以告訴coredata不要在我以前的視圖中加載它們嗎?
我希望這已經夠清楚了。我有點絕望,我知道那個網站上有一些專家。如果您需要任何其他信息,請告知我,我會盡快提供更多信息。
按照慣例,實體名稱以大寫字母開頭,屬性名稱和關係名稱以小寫字母開頭。你應該在你的代碼和你的文章中遵循這個慣例,因爲它使其他人更容易閱讀和理解。 – TechZen 2011-04-18 18:39:41