1

私のコア データ モデルには、複数の属性を持つエンティティがあります。一部の属性は、整数、倍精度、文字列です。データ ストア (Sqlite) からエンティティのインスタンスをフェッチすると、有効なオブジェクト ポインターが取得され、数値属性の値を取得できますが、文字列 (たとえば、NSString) の属性の値を取得しようとすると*test = [fetchedObj notes])、次のエラーが表示されます:

エラー: 既知のメソッド '-notes' がありません。メッセージ送信をメソッドの戻り値の型にキャストする

奇妙なことに、属性のプロパティが定義/宣言されており (私は MOGenerator v1.26 を使用しています)、Xcode のコードセンスはプロパティを「認識」していますが、実行時にはまったく認識/表示されません。また、同じモデル内に文字列属性を持つ他の種類のエンティティがあり、それらはうまく機能します。唯一の種類のエンティティが問題を引き起こしているようです。

この問題のトラブルシューティング方法に関する提案/ヒントはありますか?

よろしくお願いします。

4

1 に答える 1

1

あなたの説明に基づいて、モデル エディターでエンティティのクラス名をそのクラスだけに設定するのを忘れた可能性があります。その結果、オブジェクトを希望どおりNSManagedObjectに宣言したとしても、オブジェクトはカスタム サブクラスではなく のインスタンスになります。エンティティのクラス名を修正すれば問題ありません。

于 2012-05-01T20:17:26.707 に答える