「会話」と呼ばれるエンティティと「メッセージ」と呼ばれるエンティティを持つ単純な Coredata モデルがあります。基本的に、iPhone の SMS アプリケーションを再現する必要があります。
私は、メッセージから会話への対 1 関係と、会話からメッセージへの対多関係を持っています。
Conversation{
messages<-->>Message.conversation
}
Message{
conversation<<-->Conversation.messages
}
アプリを起動するたびに、すべての会話が fetchedResultsController に読み込まれます。Coredata がどのように機能するかを正しく理解していれば、関係があるため、会話にリンクされているすべてのメッセージも読み込まれますよね? すべての会話を同時に読み込まないように、バッチ サイズを設定しました。
私のアプリは長いプル リクエストを介してサーバーに接続されているため、いつでもサーバーからメッセージを受け取ることができます (coredata に追加され、NSNotification を使用してビューに追加を伝えます)。
私の問題は次のとおりです。行を選択すると、スタックに別のビューがプッシュされるため、メッセージが表示されます。私はそれを行う方法を考えていましたが、その理由は次のとおりです。
• リレーションシップを介して与えられたメッセージの NSSet を自分のビューに渡すことができますよね? ただし、そのビューを見ているときにメッセージを受け取ることができるので、ビューに渡された NSSet を更新するにはどうすればよいですか?
• そのビューで別の fetchedresultController を使用することもできますが、その場合、理由もなく以前のビューですべてのメッセージをプリロードすることになりますか? 以前のビューでコアデータをロードしないように指示できますか?
これが十分に明確だったことを願っています。私はちょっと必死で、そのウェブサイトに何人かの専門家がいることを知っています. 他にご不明な点がございましたら、お気軽にお問い合わせください。できるだけ早く詳細情報を提供できるよう努めます。