この質問は、技術的な問題ではなく、むしろアプローチです。データを保存するなどシングルトン対コアデータ
1)を使用して管理、データ所有者:
私はあなたのアプリケーションでは、サーバから受信したデータを格納するための2つの以下の一般的なアプローチを知っています。ほとんどの場合、シングルトンの一種であり、サーバーから受信したモデルを格納するために使用されます。 (例:投稿/場所/ユーザーの配列)任意の画面からデータにアクセスするには、シングルトンが必要です。私はアプリの大部分がこのアプローチを使用していると思います。
2)コアデータ(またはレルム)をメモリ内ストレージとして使用する。このアプローチはシングルトンを避けていますが、維持してサポートするのは少し複雑です(そしてクラッシュする危険性があります)。
データを保存する方法とその理由を教えてください。
P.S.どんな答えでも役立ちます。しかし、理由があるので詳細なものについては大きな「ありがとう」があります。
ありがとうございます。私がしようとしていることは、自分自身で決定したいということです。シングルトンを避けるために、Core Dataを(アプリケーション起動の間にデータを保持する必要なしに)使用したいのですか?または、コアデータ(または他のorm)の管理に多大な労力を要するため、シングルトンは大丈夫です。 – Evgeniy
シングルトンの使用を取り巻くいくつかの論争がありますが、経験豊富なiOS開発者としての私の意見は次のとおりです。シングルトンはうまくあり、データソース/マネージャーの役割にとっては最高の解決策です。インスタンスは1つしかないので、素敵で軽量に保たれ、データはそこにあり、簡単にアクセスできます。メモリー内にシングルトンを保持するよりもはるかにリソースを集中させる必要がない場合、ディスクからデータを読み取る必要がある場合(RAMよりもはるかに遅い)、余分なオーバーホールを加えるべきではありません。ただし、オブジェクトの配列が完了したら、オブジェクトの配列を空にします。 –
私の経験は正反対で、シングルトンは定義上のメモリリークであり、怠惰なプログラマはオブジェクトの寿命について考える必要がないようにそれらを使います。プロのコードでは受け入れられません。割り当て解除できないref countループを導入することなく、アプリケーションデリゲートからオブジェクトへの参照をハングすることで、同じ結果を得ることができます – MoDJ