0

XML を返す Web リクエストを介して現在更新されているテーブル ビューがあるプロジェクトに取り組んでいます。実装しました

-(int)numberOfRowsInTableView:(NSTableView*)tv

 -(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn*)tableColumn row:(int)row

XML 解析クラスで、サーバーから取得したデータでテーブルを更新します。

テーブルを保存/ロードできるように、Core Data を使用してプルダウンしたデータを保存したいと考えています。その後、アプリケーションの起動時に Web リクエストが行われると、まだ存在していないデータのみが追加されます。(XML はリリース日でソートされているため、コア データ ストアからロードされていないリリース日を後で確認し、新しいエントリのみをロードします。)

これを実装するにはどうすればよいですか?私は非常に新しい Cocoa 開発者ですが、Hillegas の本全体に目を通しました。本当にありがとう。

4

2 に答える 2

2

ここで話しているのは、XML の解析と Core Data の永続性という 2 つの大きな部分です。

(1) NSXMLParser のこのラッパーを使用して XML ファイルを読み取ることに成功しました。最近のライブラリについては聞いたことがありますが、使用したことはありませんが、これが出発点になるかもしれません。リンクされた記事は、使用法について非常に徹底しています。

(2) Core Data で最初に行うことは、新しいデータ モデルを作成することです。そこから、モデル クラスを (@dynamicプロパティを使用して) 作成し、Core Data を介して (NSManagedObjectContext やその同種のものを使用して) データベースと簡単にやり取りできます。ここで穏やかな紹介を得るか、ここに沿って少し飛び込むことができます.

Core Data の実装は、特に新しい開発者にとって重要です。特定のトピックに関するチュートリアルが発生したら、それを探すことをお勧めします。

于 2010-05-18T01:58:46.260 に答える
1

私は今、あなたと同じ船に乗っています。Cocoa を学んでいて、Hillegass の本を読んでいて、Web サービスからプルする Core Data アプリを構築しています。アプリで Web サービスからテーブル ビューを正常に取得する方法を理解しましたが、自分のやり方が正しい方法なのかベスト プラクティスなのかわかりません。これが私がしたことです:

Web サービスからのエンティティと同じ属性を持つ Core Data モデルを作成しました。Interface Builder でテーブル ビューを作成し、テーブルの列と Core Data 属性の間のバインディングを設定しました。アプリが起動したら、Web サービスからデータを取得し、アイテムをループして、新しいエンティティを作成します。その後、テーブル ビューは新しいデータを自動的に認識し、データを入力します。

Pragmatic ProgrammersのCore Data bookと、この質問の両方が役に立ちました: JSON to Persistent Data Store (CoreData など)

同期の問題(新しいアイテムの追加、既存の更新)には取り組んでいませんが、そうするときのためにこのドキュメントをブックマークしています: http://developer.apple.com/Mac/library/documentation/Cocoa/Conceptual/CoreData/Articles /cdImporting.html#//apple_ref/doc/uid/TP40003174

于 2010-05-18T02:55:29.640 に答える