2010-12-14 10 views
1

質問:NSAttributeDescriptionを使用して属性のプロパティにアクセスすると、基本プロパティのみにアクセスできます。NSAttributeDescription、オプションのプロパティへのアクセス

– attributeType 
– setAttributeType: 
– attributeValueClassName 
– setAttributeValueClassName: 
– defaultValue 
– setDefaultValue: 

しかし、私はどのように文字列属性の '最大長'プロパティにアクセスできますか?その他...オプションまたはインデックス付きまたは一時的...

ありがとう!

答えて

3

私は以前の回答をお詫び申し上げます。私は "NSAttributedString"を読んで、あなたが質問しなかった質問に答えたので、私はそれを削除しました。

まず、あなたの質問に答えてNSAttributeDescriptionは、あなたが探している情報を保持するNSPropertyDescriptionのサブクラスです。しかし

:私は エンティティの記述から、SQLクエリを作成したい

:私の答えにあなたのコメントでは、あなたが言って少しを明らかにしました。データモデル ファイルから、エンティティ名、タイプの 属性のパラメータを受け取ることができます。今すぐ 私は次のクエリを作成することができます:テーブルを作成 entity_name(attr1 type1);しかし私は 次のクエリを作成したいテーブルを作成 entity_name(attr1 type1(max_len)); creteモデルの場合、x-codeに 'max_len'パラメータを設定しました。しかし私は理解していません モデルファイルを解析するとき、私はこのプロパティーを プログラムで得ることができます。

あなたが本当にコアデータによって作成され、維持されたSQLiteデータベースと周りの混乱に意味場合は、スキーマを理解する必要があるが、公共ないあると警告なしに変更されることがあります。 に変更すると、ユーザーのデータが破損する可能性があります。スキーマが突然大きく異なる可能性があるため、作成するクエリも失敗することがあります。

したがって、2つの注意点はです。Core Data独自の処理以外のCore Data SQLiteドキュメントには絶対に変更を加えないでください。およびコアデータSQLiteファイルのスキーマが、警告なしにいつでも変更されることを期待してください。