我想使用NSArrayController填充NSTableview,但是我无法找到确切的过程。
最佳答案
一种方法是通过KVC,使用NSArrayController填充NSTableView。
示例代码:
TestAppDelegate.h
#import <Cocoa/Cocoa.h>
@interface TestAppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet NSArrayController *arrayController;
IBOutlet NSTableView *theTable;
}
@property (assign) IBOutlet NSArrayController *arrayController;
@property (assign) IBOutlet NSTableView *theTable;
- (void) populateTable;
@end
TestAppDelegate.m
#import "TestAppDelegate.h"
@implementation TestAppDelegate
@synthesize arrayController;
@synthesize theTable;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Populate the table once with the data below
[self populateTable];
}
- (void) populateTable
{
NSMutableDictionary *value = [[NSMutableDictionary alloc] init];
// Add some values to the dictionary
// which match up to the NSTableView bindings
[value setObject:[NSNumber numberWithInt:0] forKey:@"id"];
[value setObject:[NSString stringWithFormat:@"test"] forKey:@"name"];
[arrayController addObject:value];
[value release];
[theTable reloadData];
}
@end
现在在界面生成器中进行绑定(bind):
运行时,现在应该只有一个数据行。 (这是未经测试的代码,但是应该给出总体思路)
有关这些绑定(bind)的更多帮助,请查看this example。
Here is also a good example,其中包含有关如何创建填充的NSTableView的图片。
关于objective-c - 如何使用NSArrayController填充NSTableView中的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3616945/