私はココアが初めてです。NSArrayController と binding を使用して、両方にテキストを含む 2 つの colomns を持つ TableView を正常に作成しました。カスタムTableViewでも同じことを実現したいと思います。私のTableViewには2つの列が含まれています.1つは画像を含み、もう1つは画像の説明を含む必要があります. binding を使用してテーブルにデータを入力したい。これを達成する方法を教えてください。
質問する
841 次
1 に答える
0
次の手順に従います。
Xib/Nib ファイルの場合:
- NSArrayController を取ります。
- NSTableView を取り、2 つの列を取ります。
- 最初の列で NSImageCell をドラッグすると、2 番目の列はデフォルトで NSTextCell になります。
- 今バインド:
- 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 に答える