0

この機能の最適な実装を把握するのに苦労しています。私の最終目標は、セッションごとの単語数や行数などのメモ文書から統計を取得することです(セッションは、文書を開いて編集してから閉じる1つのインスタンスです)。次に、そのデータを取得し、時間の経過とともにグラフ化します。この方法でコアデータを使用することに関連するものは何も見つかりません。私はスタンフォードによって投稿された素晴らしいiOS講義に沿ってNSFetchedResultsControllerを使用しています。

これは、私の側のコアデータの大きな誤解である可能性があります。後で解析するために、各セッションデータを「timestamp--wordCount」および「timestamp--lineCount」と同様の形式でNSString属性として保存する方が簡単でしょうか。

私は、それらを「メモ」エンティティと呼ぶことができるテキストドキュメントを持つアプリを持っています。各ノートエンティティには、1対1の関係で関連付けられた「統計」エンティティがあります。notesエンティティは個々の合計wordCountおよびlineCount属性を保持し、statsエンティティは上記のNSString形式のデータセットのデータ属性を保持します。

その理由は、アプリの起動時に大量のデータをロードしなくても、起動時にnotesオブジェクトを起動できるようにしたいということです。

これは、この種のデータを保持するための最良の方法ですか?より良い言葉がないので、私にはちょっとぎこちないようです。Core Dataに関するアップルのドキュメントを読み、スタンフォード大学の講義を含むいくつかのチュートリアルを見て、Google-fuスキルでこれを検索しましたが、何も見つかりませんでした。Core Dataを使用するのはこれが初めてなので、学んだことを実際に適用するのに苦労していると思います。

何か見落としがあったら、歩きながら書いていたのでお気軽に声をかけてください。前もって感謝します。

4

1 に答える 1

1

いくつかの埋め込まれた質問をキャプチャしようとしています:

後で解析するために、各セッションデータを「timestamp--wordCount」および「timestamp--lineCount」と同様の形式でNSString属性として保存する方が簡単でしょうか。

もっと簡単、おそらく?しかしNSString、要素データを保存するための良い方法ではありません。

これは、この種のデータを保持するための最良の方法ですか?

NSStringドキュメントに関するメタデータを;にパックすることを指します。私はそれがうまくいくと確信しています-しかしおそらくそれ自身のクラスにメタデータをカプセル化する方が良いでしょう-あるいはあなたがコアデータを提案したように。

私の提案は前者です。つまり、私はあなたがパックしているデータを取得し、それからNSStringクラスを作成します。Appleのドキュメントには、CoreDataはエントリーレベルのテクノロジーではないと完全に記載されています。多くの場合、モデルレイヤーの実装に適したソリューションです。しかしいつもではない。あなたの場合、あなたは次のような簡単なことをすることができます:

@interface NoteMetadata:NSObject

@property (nonatomic, assign) NSInteger wordCount;
@property (nonatomic, assign) NSInteger lineCount;
@property (nonatomic, strong) NSDate *timeStamp;

@end

などの場合、おそらくNoteオブジェクトNoteMetadataには、セッションを構成するこれらのオブジェクトの配列が含まれている可能性があります。

于 2012-09-28T02:23:46.033 に答える