私はxcodeを使ってiOSアプリケーションをプログラミングしています。私は、ユーザーがコメントを残すことができるアプリケーションのセクションを設定したいと思います。私はちょっと私が特定の投稿のためのコメントのセットを保存する方法について混乱しています。私は基本的にコメントごとに3つだけを保存する必要があります。ユーザーのID、コメントそのもの、コメントの数(つまり、その投稿、2番目、3番目などの投稿の最初のコメント)が実際にデータベースに保存するにはどうすればいいのか分かりません。私はプライマリデータベースとしてparse-serverを使用しています。問題は、このデータベースがオブジェクトの複数の品質を格納できる一方で、辞書を保存することができないことです。 (私のように情報を保存したいと思っているだろう):
理想の戦略(ただし、動作しません)ユーザーコメントを保存するためのデータ構造の仕方は?
var commentCount = 5 //will hold value of number of comments for post
var commentString = "hello"
var commenterID = "e1das312"
var commentSavingDict = [Int: [String]]()
func addComment(){
commentCount = commentCount + 1
commentSavingDict[commentCount] = [commenterID, commentString]
}
問題は、構文解析ダッシュボードにのみ配列は、辞書はcommentSavingDict
としてではなく、保存することができるということですです。私は単におおまかようにその文字列の保存とみなさ:
第二の戦略
var commentCount = 5 //will hold value of number of comments for post
var commentString = "hello"
var commenterID = "e1das312"
var commentSavingArray = [String]()
func addComment(){
commentCount = commentCount + 1
commentSavingArray.append("\(commentCount) :::: \(commentString) :::: \(commenterID)")
}
このアプローチは動作しますが、配列から各エントリを引っ張って、その後、::::
で.split
で文字列を分離することが必要となりますそれぞれの部分を3つの別々の配列にダンプし、それをそのまま利用します。分割がクライアント側である必要があるため、これは少し時間がかかります。
第三の戦略
私はちょうど4つの異なる品質で、各コメントは、データベース内の独自のオブジェクトである持っているだろう考え、最終的な方法:コメントの数、コメント、投稿のID、およびユーザーのID。これも機能しますが、個々の投稿のためのすべてのコメント(1つのオブジェクトとして)の配列に保持されるのではなく、それぞれのコメントを独自のオブジェクトにしています。
私は辞書を保存することができないので、私が提案したよりも、この問題に対するより良いアプローチがありますか?あるいは私が提案したものを間違って分析していますか?
応答とガイドへのリンクありがとう!あなたはそれについて私の懸念についてコメントすることはできますか?各コメントの個々のオブジェクトを作成しても、他のメソッドと比較してオブジェクトの量を増やすことでデータベースを壊すことはありませんか? –
このように考えると、行ごとに1つvsすべてを1つの行に格納するだけなので、それ以上オブジェクトを作成する必要はありません。それでも情報量は同じです。実際、別個のオブジェクトを使用することは、データレベルではるかに効率的になる可能性があります。これは、これが期待している構造であり、最適化されているためです。 –