質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

377閲覧

ユーザー情報の保存先

sam3457

総合スコア52

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/01/23 13:22

編集2018/01/23 15:13

swiftでSNSアプリを作りたいと思っているのですが普通、名前、プロフィール画像、自己紹介などのユーザー情報を保存する場合、保存する場所はuserdefaultで良いのでしょうか?

ググって作ったtodoアプリなどはuserdefaultに保存していたので、今まで作ったアプリではデータの保存には全てuserdefaultsを使っていたのですが、、

例えば、Documentsなどに保存をするべきでしょうか?

また、こういったデータはクラス化して、NSCodingプロトコルの実装と、NSKeyedArchiverを使って、NSDataへ変換しファイルへ保存するようにするべきでしょうか?

SNSなのでもちろんサーバー(firebaseを使うつもりです)にもユーザー情報は保存するつもりなのですが、保存する先はサーバー上のみでいいのですかね?

ユーザー情報は使用する頻度が高いと予想されるので(アイコン画像や名前など)その都度サーバーと通信しているとよくないのかなと思ったので質問した次第です。

初歩的な質問ですがよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

一般論でいいますと、名前、プロフィール画像、自己紹介などのユーザー情報は、'データベース'に保存します。
仮にAさんのプロフィールをAさんの端末内部にのみ保存した場合、他のユーザー(例えばBさん)からはAさんの自己紹介を閲覧することはできませんよね?

作ろうとしているSNSアプリは、AさんのプロフィールはAさんだけが閲覧するという仕様なのでしょうか?おそらく違いますよね。

todoアプリの場合、'todoリストを他人と共有する必要がなかったので端末に保存しておけば十分だった'のかもしれませんが、SNSでは普通、'他人と情報を共有する'訳ですから、自分が作成したコンテンツを他人に渡すサーバーのような仕組みが必須となります。

投稿2018/01/23 14:45

mtdsnsk

総合スコア789

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sam3457

2018/01/23 15:10

回答ありがとうございます! 言葉足らずで申し訳ありません。もちろんサーバー(firebaseを使うつもりです)にもユーザー情報は保存するつもりなのですが、保存する先はサーバー上のみでいいのですかね? ユーザー情報は使用する頻度が高いと予想されるので(アイコン画像や名前など)その都度サーバーと通信しているとよくないのかなと思ったので質問しました、、 分かりずらい文章で申し訳ありません。編集し直します。
mtdsnsk

2018/01/23 15:29

あ、そういう意味でしたか。 でしたらキャッシュが良いのではないでしょうか?
sam3457

2018/01/24 08:21

ご返答ありがとうございます。キャッシュについて調べて見たところ、 システムに削除されることがあり、iTunesにバックアップされないとあったのですが、ユーザー情報はサーバーに常に保管しているので問題ないということでしょうか?
mtdsnsk

2018/01/24 16:03

そうですね。キャッシュにある場合はキャッシュを参照し、キャッシュにない場合はサーバーから再取得します。端末にしかない場合、別の端末やブラウザなどで見たとき困るので、サーバーに置くのは大前提です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問