現在、Firebaseを使用してチャットアプリケーションを作成しています。 Firebase Offline Capabilitiesはうまく機能します。現在私はCoreDataでは知識がありませんが、私は学び始めています。途中私のアプリの作品は、このようなものです:Firebaseチャットアプリ(CoreDataを使用してUXを改善しますか?)
あなたがメッセージの書き込み - >それはfirebaseに行く - >は、私が午前問題集ビュー
を更新し、時々私は、非常に低速な接続を持っていますメッセージはコレクションビューに移動するまでに時間がかかります。
私はこのように私のアプリの仕事をしたい:
がメッセージを書き込む - > collectionViewファーストに行く - とき今
を「送信済み」とのメッセージの下>更新ラベル - >次にfirebaseに行きますそうすれば、メッセージはcollectionViewに送られ、firebaseが起動され、メッセージが複製されます。
と私はビューを離れるときに、メッセージが失われ、複製からfirebaseを停止するためにロジックを使用する場合。私の問題の唯一の解決策はこのようにそれを行うことであるように
右今、私が感じる:
は、メッセージの送信 - > coreDataに入れる - > collectionViewに入れる - > firebaseに入れる - >からメッセージを確認しますfirebase - >メッセージがすでにcoreData内にある場合は重複しません。
質問がありますが、これはコアデータの有無にかかわらず簡単な方法ですか?
コアラータを使用する必要がある場合は、実際に何を重視すべきか、私は親と子の2つのコンテキストが必要であると読んでいます.1つはUIのメインキューで動作し、バックグラウンドでファイアベースからのメッセージを取得するには、正しい軌道にいるのですか? (経験の浅い質問に申し訳ありません)
メモリ内の配列にメッセージを格納することをお勧めしません。その配列の長さを手作業で管理し、より永続的なデータベースにメッセージをドロップ、キャッシュ、または格納する必要があります。実装を挑戦しているCoreDataは、このような目的のために設計されています。 – brandonscript
この方法で試してください。チャットビューには10個のメッセージしか表示されません。メッセージをメモリに格納することは、そのような巨大なメモリを全く取らない。画像やビデオをデバイスに保存するだけで、他の情報は単なるテキストであり、膨大なメモリを必要としません。要件に合わない場合は、CoreDataも使用できます。 CoreDataは使いにくいものではありません。 –
それは_question_答えではありません - 確かに解決策ではありません;) – brandonscript