本のようなiPhoneアプリのデータを整理する最適な方法についての質問

StackOverflow https://stackoverflow.com/questions/2343737

  •  23-09-2019
  •  | 
  •  

質問

読書用の本のコンテンツを表示するだけでなく、iPhoneアプリで作業を始めたいと思います。本のコンテンツはオンラインで入手でき、完全にオープンソースですが、コンテンツをローカルで利用できるようにしたいと思います。以前に取り組んだアプリ、つまりiPhone OS 2.xを使用して、.SQLデータベースを作成(または検索)してから、アプリ内からのデータのクエリを作成するだけで非常にうまく機能しました。コアデータ(私はそれほどよく知っていない)の出現により、古いSQLメソッドは理想的ではないかもしれません。私の質問は、オンラインWebコンテンツからローカルに保存されたiPhone読み取り可能なコンテンツに移行するための最良の方法は何ですか?どちらのアプローチをとっても、DBが必要になります(正しいですか?)。それで、邪魔にならないようにして、正しいテーブルと列のすべてでWebコンテンツをDBにインポートすることを開始する必要がありますか?この質問で、私はただ正しい方向のポイントを探しているだけです。私がこれを転がすための最良の方法について何か提案があれば、それは大歓迎です。ありがとう!

役に立ちましたか?

解決

コアデータは、永続的にしたい「オブジェクト」がある場合に適しています。読み取り/書き込みに多くのデータしか持っていない場合、プレーンな古いsqliteがより簡単になる場合があります。

申し訳ありませんが、これ以上具体的なアドバイスをすることはできませんが、アプリのデータモデルとオブジェクトモデルがどれほど複雑であるかにはなります。コアデータを見ることをお勧めしますが、誰もがそれがどれほどクールかを教えてくれるからといって、それを使用しないでください。

コアデータを使用しても、独自のSQLデータベーススキーマを定義しないため、決定を下すまでそのパスを開始しないでください。

他のヒント

私は実際にコアデータルートを使用します。コアデータは、データバックエンドに関係なく、永続的なデータを管理するためのAppleが提供するAPIにすぎません(フラットプリストファイル、XMLファイル、または完全なSQLiteデータベースファイルである場合)。

本の場合、次のようにエンティティを分解できます。

予約エンティティ

  • 文字列属性であるタイトル
  • 文字列属性である著者
  • チャプターエンティティの多くの関係がある章

チャプターエンティティ

  • 文字列属性であるタイトル
  • ページエンティティの多くの関係があるページ

ページエンティティ

  • 文字列属性であるPagetext

次に、SQLバックエンドコードを心配することなく、すべての値にコアデータを使用してオブジェクトであるかのようにアクセスし、すべてのコードを書き込み、SQLiteデータ型をビューコントローラーが表示できるCoCOAオブジェクトに翻訳します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top