2010-12-06 8 views
4

NSManagedObjectをサブクラス化オブジェクトにキャストする方法はありますか?NSManagedObjectをサブクラス化オブジェクトにキャストする

私は@interface Contact : NSManagedObjectを持っているし、自分のコードの一般的な部分で、私はNSManagedObjectを持って、私は直接contact.firstNameなどを使用してプロパティにアクセスできるようにContactにキャストしたいと思います...

私はContact *contact = myManagedObject;れを使用しています実行時に動作しますが、私は抑制したいコンパイラ警告warning: incompatible Objective-C types initializing 'struct NSManagedObject *', expected 'struct Contact *'を取得しています。

Contact *contact = (Contact *) myManagedObject; 

が、これはロープのかなりあることに注意してください:

答えて

12

はCのキャストを使用してください。時には必要なロープ、確かに。

+0

もちろん、これを知っていれば簡単です。ありがとうございました! –

+0

これは私のために働いていません:連絡先*連絡先=(連絡先*)オブジェクト; DLog(@ "コンタクトクラスは%@"、[contact class])です。 // NSManagedObjectを印刷します contact.Address = addressObject; – wkhatch

+0

サブクラスのインスタンスを作成するモデルが設定されていない場合は、NSManagedObjectインスタンスが取得されます。キャスティングは決してオブジェクトのクラスを変更することはできません。 – bbum

関連する問題