Core Data を少し使い始めて、通常の Cocoa アプリケーションでの使用方法を理解しましたが、Cocoa Touch では少し異なるようです。Cocoa Touch でエンティティを表のセルなどのオブジェクトにバインドするにはどうすればよいですか?
3 に答える
残念ながら、バインディングはiPhoneOSではサポートされていません。Appleデベロッパドキュメントのこのページを参照してください。
これは、iPhoneOSでNSArrayControllerを使用できないことを意味していると思います。
iPhone OS 3.0 以降で CoreData を使用している場合は、NSFetchedResultsController
. 実際には の類似物ではありませんが、とそのコントローラーNSArrayController
で使用するように特別に設計されています。UITableView
デバイスのパフォーマンスとメモリの制約に留意しながら、必要に応じて永続化から要素をロードする方法を提供します。単純にバインドするほどクリーンではありませんが、必要なすべて (およびそれ以上のこと) を少量のコードで行うことができます。
Jergason は正しいです。iPhone の Core Data でバインディングまたは NSArrayController を使用することはできません。
代わりに、NSFetchedResultsControllerを確認してください。これは、「Core Data fetch リクエストから返された結果を効率的に管理して、UITableView オブジェクトにデータを提供することを目的としています」。