0

私は Cocoa Bindings を学習しようとしており、タイトル、ファーストネーム、ラストネームのシンプルなアプリを持っています。

アプリを実行したときの結果のスクリーンショットを次に示します。

ここに画像の説明を入力

名前と姓にヌル文字列が含まれている理由がわかりません。

すべてがバインディングを使用して構築されます - コードはありません。

バインディングは次のようになります。

ここに画像の説明を入力

助けていただければ幸いです...ありがとう!

編集 - firstname の属性値は次のとおりです。

ここに画像の説明を入力

管理対象オブジェクトのサブクラスのコードは次のとおりです...

@interface TestEntity : NSManagedObject

@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * firstname;
@property (nonatomic, retain) NSString * lastname;

@end


@implementation TestEntity

@dynamic title;
@dynamic firstname;
@dynamic lastname;

- (void) awakeFromInsert
{
    NSLog(@"%s", __FUNCTION__);

    NSString * baseValue = @" ";
    [self setValue: baseValue  forKey: @"firstname"];

} // awakeFromInsert
4

2 に答える 2

2

単一の値のみを表示するコントロールを「arrangedObjects.yourKey」にバインドしました。これはコレクションを提供します。を使用してデバッガコンソールで同じものを印刷した場合po someCollection、同じ形式が表示されます。

「selection.yourKey」が必要です。ここで、「選択」とは「アレイコントローラで選択されているオブジェクト」を意味し、残りのキーパスはそのオブジェクトをルートとします。

おそらく、テーブルビューで「arrangedObjects」を使用することに慣れているでしょう。列(基本的に垂直にスタックされたフィールドの配列には並べ替えられたコレクションが必要です。これは左側のテーブル(「マスター」ビュー)には問題ありませんが、右側のコントロール(「詳細」ビュー)は、その選択によって異なります。

これがお役に立てば幸いです。

于 2012-06-28T13:48:22.727 に答える
0

モデルでは、姓と名を null にすることができ、デフォルト値はありません。can be null各属性のチェックボックスをオフにします。

于 2012-06-28T13:19:59.373 に答える