私はエンティティとコア・データ・モデルは、以下の属性で構成されてクライアント呼ばれています:は、プログラム(IBは、結合のように「追加」)コアデータのエンティティに追加
た場合を
は何でしょう:Iボタン「がクライアントを追加する」と、次のウィンドウを開きをクリックしてくださいバインドされたIBの「追加」ボタンがNSArrayController
でどのように機能するかと同様の方法で、各プロパティの新しいエントリをプログラムで同時に追加し、「クライアントを追加する」ウィンドウのテキストフィールドに表示させる方法が適切です編集するには? 'クライアント追加クライアント'のテキストフィールドは、クライアントエンティティの対応するプロパティ(1つまたは2つでも欠落している)にバインドされています。現時点で私が持っているコードは次のとおりです。
- (IBAction)addNewClient:(id)sender;
{
[addClientsWindow makeKeyAndOrderFront:self];
//NSManagedObjectContext *clientsMoc= [clientsController managedObjectContext];
//[clientsMoc addObject:[clientsMoc newObject]];
[clientsController addObject:[clientsController newObject]];
}
。私はNSManagedObjectContext
ではなくNSArrayController
に対処しているが、コメントアウトされたコードは私のために働いていないからだと思う。この試行はprevious questionから続きます。質問が多く変わったため、私は与えられたアドバイスを実装するのに苦労しています。私は本当に良い出発点が必要で、リンゴの開発者のドキュメントは私がこれを理解するのを助けていません。
ありがとうございます!
----更新----
が、私はこの質問にひどく物事を説明するのですか?私はここに新しいですが、答えにしようとするかもしれないと思った。これを検索することは何らかの理由で困難でした。私は無関係のGoogle検索を通じて解決策に類似したものを見つけたかもしれません。幸いにも、これはこれに関連していました。
- (IBAction)addNewClient:(id)sender;
{
[addClientsWindow makeKeyAndOrderFront:self];
NSManagedObjectContext *clientsMoc= [clientsController managedObjectContext];
NSManagedObject *clientsEntity = [NSEntityDescription
insertNewObjectForEntityForName:@"Clients"
inManagedObjectContext:clientsMoc];
[clientsEntity setValue:@"name" forKey:@"clientName"];
[clientsEntity setValue:@"company" forKey:@"clientCompany"];
[clientsEntity setValue:@"address" forKey:@"clientAddress"];
[clientsEntity setValue:@"11111111" forKey:@"clientLandline"];
[clientsEntity setValue:@"[email protected]" forKey:@"clientEmail"];
}
これにより、クライアントエンティティの完全な新しいエントリが作成されました。これは、各プロパティに対して個別の値を設定する必要があることを認識しませんでした。 KVCのエラーは続きましたが、解決策がまったく見つかりませんでした。アップルのデベロッパー・ドキュメントは、実際にはhereに役立っていて、「起動時に引数を渡す」リストにNSBindingDebugLogLevel 1
を追加すると、問題の原因を正確に知ることができました。更新されていないNSTableColumn
への古いバインディングでした。