我是Cocoa的新手。我正在显示一个简单的Tableview,其中填充了NSMutableArray,它绑定到NSArrayController,如下所示
[_arrController bind:@"contentArray" toObject:self withKeyPath:@"dataArray" options:nil];
这里_arrController是我的NSArrayController的IBoutlet,dataArray是带有数据的NSmutableArray。
当我以编程方式进行绑定时,我成功填充了Tableview。但是我无法通过Interface Builder实现相同的绑定。
我在我的IB中选择了ArrayController,转到绑定部分,并在控制器部分尝试绑定,方法是选择模型关键路径为dataArray.But但是,我的表没有填充数据,其中以编程方式我可以完成我的任务容易。任何帮助表示赞赏。
答案 0 :(得分:6)
这是一个可以帮助您解决问题的示例。
@interface ExAppDelegate:NSObject
@property(assign)IBOutlet NSWindow * window;
@property(strong)NSMutableArray * demoArray;
@property(强)IBOutlet NSArrayController * demoArrayController;
@end
以下是同一类
的实现@implementation ExAppDelegate
@synthesize demoArray;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
self.demoArray = [NSMutableArray array];
for (int i=0 ; i <= 10 ; i++)
{
NSMutableDictionary *temp = [NSMutableDictionary dictionary];
[temp setObject:[NSNumber numberWithInt:i] forKey:@"number"];
[temp setObject:[NSString stringWithFormat:@"Demo %d",i] forKey:@"demoKey"];
[self.demoArray addObject:temp];
}
[self.demoArrayController rearrangeObjects];
}
@end
现在,UI绑定 - &gt;
注意:强>
1。将对象添加到绑定到Array Controller的数组后,请确保在Array Controller上调用rearrangeObjects。
[self.demoArrayController rearrangeObjects];
2。在表视图列绑定中,请确保已选中“连续更新值”复选框。
我希望能解决这个问题。
答案 1 :(得分:1)
步骤如下(以防万一你错过了):
如果您正在使用基于视图的表格视图。请执行以下操作:
希望它有所帮助!