2011-07-15 10 views
0

CD_CoffeeShopというコアデータNSManagedObjectがあります。NSManagedObjectの問題

を:私は

(temp_CSの変数coffeeShopIdがするNSNumberである)

[temp_CS setCoffeeShopId:[NSNumber numberWithInt:coffeeShop.Id]]; 

、変数

CD_CoffeeShop *temp_CS = [ CD_CoffeeShop new] 

を割り当てられ、それに値を渡すしようとすると、私はというエラーを取得します

キャッチされない例外のためアプリを終了します 'NSInvalidArgumentException'、理由: ' - [CD_CoffeeShop setCoffeeShopId:]:認識されていないセレクタは、それが何をすることができインスタンス0x6b34040' に

を送りましたか?

+0

.hファイルに 'setCoffeeShopId'を宣言しましたか? – MByD

+0

これらは動的であると宣言されていますが、手動でtemp_CS.coffeeShopId = [NSNumber numberWithInt:coffeeShop.Id]]と設定しようとした場合も同様です。それは動作しません、それは私に同じエラーが表示されます – Alex

+0

'coffeeShopId'合成ですか? – MByD

答えて

3

Core Data Programming guideを読んだことがありますか?コアデータオブジェクトをNSObjectメソッドでインスタンス化しません。すでに存在する場合、またはNSEntityDescriptioninsert a new object into the contextを使用している場合は、フェッチ要求でそれらを取得します。

間違いなくnewを使用しないでください。

+0

はこれを知っていましたが、「ショートカット」があったと思っています..ありがとう! – Alex

+0

btw、NSMutableArrayに適切な初期化の後にオブジェクトを追加して後でDBに追加することはできますか? – Alex

+1

@Badescu Alexandru:それはすべてあなたのために処理されます。新しい管理対象オブジェクトを適切な方法で作成し、その属性に値を割り当てると、後でNSManagedObjectContextを保存すると、すべての変更が永続ストアに自動的に送信されます。 – JeremyP