我是可可的新手。我正在显示一个简单的 Tableview,其中填充了 NSMutableArray,它绑定到 NSArrayController,如下所示
[_arrController bind:@"contentArray" toObject:self withKeyPath:@"dataArray" options:nil];
这里 _arrController 是我的 NSArrayController 的 IBoutlet,dataArray 是我的带有数据的 NSmutableArray。
当我以编程方式进行绑定时,我成功填充了 Tableview。但是我无法通过 Interface Builder 实现相同的绑定。
我在 IB 中选择了 ArrayController,转到绑定部分,并通过选择模型关键路径作为 dataArray 尝试在控制器部分下进行绑定。但是,我的表没有填充数据,通过编程方式我可以轻松完成我的任务。任何帮助表示赞赏。
这是一个可能帮助您解决问题的示例。
- iVar -> demoArray
- IBOutlet -> demoArrayController
@interface ExAppDelegate:NSObject
@property (分配) IBOutlet NSWindow *window;
@property (强) 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 绑定 - >
- 数组控制器绑定如下图所示
- 表视图列绑定。
NOTE:
1. 确保在将对象添加到绑定到数组控制器的数组后,调用数组控制器上的rearrangeObjects。
[self.demoArrayController 重新排列对象];
2. 在“表视图列绑定”中,确保已选中“连续更新值”复选框。
我希望这能解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)