1

私はココアが初めてです。NSArrayController と binding を使用して、両方にテキストを含む 2 つの colomns を持つ TableView を正常に作成しました。カスタムTableViewでも同じことを実現したいと思います。私のTableViewには2つの列が含まれています.1つは画像を含み、もう1つは画像の説明を含む必要があります. binding を使用してテーブルにデータを入力したい。これを達成する方法を教えてください。

4

1 に答える 1

0

次の手順に従います。

Xib/Nib ファイルの場合:

  1. NSArrayController を取ります。
  2. NSTableView を取り、2 つの列を取ります。
  3. 最初の列で NSImageCell をドラッグすると、2 番目の列はデフォルトで NSTextCell になります。
  4. 今バインド:
    • NSObject または FileOwners への最初の arraycontroller。
    • mutablearray から arraycontroller へ。
    • コントローラーキーがarrangesObjectsで、modelkeypathがimgである必要がある配列コントローラーへのTableviewの最初の列。
    • Tableview の 2 番目の列は、配列コントローラーの内部で、そのコントローラー キーは ArrangesObjects であり、modelkeypath は des である必要があります。

(注: 10.6 を超える OS バージョンを使用している場合は、テーブルの列にバインドする際に、1 つのオプション [すぐに検証する] をオンにしてください)

ヘッダー ファイル内:

NSString *img;
NSString *desc;
NSMutableArray *arr;
IBOutlet NSArrayController *arrCont;
@property (readwrite,retain) NSString *img;
@property (readwrite,retain) NSString *desc;
@property (readwrite,retain) NSMutableArray *arr;

実装ファイル:

self.arr = [[NSMutableArray alloc] init];
NSString *imageName = [[NSBundle mainBundle] pathForResource:@"yourImageName" ofType:@"tiff"];
NSImage *photoImage = [[NSImage alloc] initWithContentsOfFile:imageName];
NSMutableDictionary *dc = [NSMutableDictionary dictionary];
[dc setObject:photoImage forKey:@"img"];
[dc setObject:@"noImage" forKey:@"desc"];
[arr addObject:dc];
[self setArr:arr];
于 2013-08-29T11:19:26.190 に答える