2013-03-27 10 views
8

コアデータ内の特定のスキーマ(管理対象オブジェクトモデル)の既存のエンティティ(テーブル)のリストを取得する方法。私はちょうどコアのデータコンセプトを実装し始め、これらの点に立ち往生してください、助けてくださいコアデータ内の既存のエンティティ(テーブル)のリストを取得する方法

何かのように:SELECT COUNT(*)FROM information_schema.tables WHERE table_schema = 'dbName';

おかげ

答えて

6

あなたがApple's Core Data Programming Guideて読んでください。特定のNSManagedObjectModelためのエンティティを取得するには、次のいずれかを使用します(これはあなたがobjectModelという名前NSManagedObjectModelを前提としてい):

NSArray *myEntities = [objectModel entities]; 
// Array of all entities in the model 

または

NSDictionary *myEntities = [objectModel entitiesByName]; 
// Dictionary of entities in the model, with the entity names as keys 

をあなたはNSManagedObjectModel Class Referenceで詳細を読むことができます。

あなたは(私のように)SQLの背景から来ているようです。コアデータにはいくつかの概念がありますが、それらを理解してから、時には単純なSQL文よりも多くの作業を必要とすることもあります。私は、SQLの「手荷物」なしでCore Dataにアプローチし、初めてデータベースを使用する方法を覚えているかのように扱うことが重要だと思います。これは、不満を避けるのに役立ちます。

+0

Davidありがとうございました。はい、私はSQLを後にしなければなりません。今や相違点を探しています。いくつかの参考文献(リンク)を提案することができれば助かります –

+0

私は最初にiOS開発と一緒にCore Dataに紹介されました。「iOS Programming:The Big Nerd Ranch Guide」(http://www.bignerdranch.com/book)/ios_programming_the_big_nerd_ranch_guide_rd_edition_)、これは良い紹介を与えた。そこから私は主に私の答えにリンクされているAppleのガイドと、Stack Overflowに関する多くの検索を参照しました。コアデータ専用の書籍がありますが、私はまだそれを選んでいません。私は、モデルバージョン間の移行は、ほとんどの人が踏みつぶされ、コアデータ自体が最も厄介で、バギーでもある傾向がある場所だと考えています。 –