質問: swiftでSNSアプリを作りたいと思っているのですが普通、名前、プロフィール画像、自己紹介などのユーザー情報を保存する場合、保存する場所はuserdefaultで良いのでしょうか? ググって作ったtodoアプリなどはuserdefaultに保存していたので、今まで作ったアプリではデータの保存には全てuserdefaultsを使っていたのですが、、 例えば、Documentsなどに保存をするべきでしょうか? また、こういったデータはクラス化して、NSCodingプロトコルの実装と、NSKeyedArchiverを使って、NSDataへ変換しファイルへ保存するようにするべきでしょうか? SNSなのでもちろんサーバー(firebaseを使うつもりです)にもユーザー情報は保存するつもりなのですが、保存する先はサーバー上のみでいいのですかね? ユーザー情報は使用する頻度が高いと予想されるので(アイコン画像や名前など)その都度サーバーと通信しているとよくないのかなと思ったので質問した次第です。 初歩的な質問ですがよろしくお願いします。
回答: 一般論でいいますと、名前、プロフィール画像、自己紹介などのユーザー情報は、'データベース'に保存します。 仮にAさんのプロフィールをAさんの端末内部にのみ保存した場合、他のユーザー(例えばBさん)からはAさんの自己紹介を閲覧することはできませんよね? 作ろうとしているSNSアプリは、AさんのプロフィールはAさんだけが閲覧するという仕様なのでしょうか?おそらく違いますよね。 todoアプリの場合、'todoリストを他人と共有する必要がなかったので端末に保存しておけば十分だった'のかもしれませんが、SNSでは普通、'他人と情報を共有する'訳ですから、自分が作成したコンテンツを他人に渡すサーバーのような仕組みが必須となります。