Raj*_*Raj 2 cocoa objective-c cocoa-bindings
我是Cocoa的新手.我正在显示一个简单的Tableview,其中填充了NSMutableArray,它绑定到NSArrayController,如下所示
[_arrController bind:@"contentArray" toObject:self withKeyPath:@"dataArray" options:nil];
Run Code Online (Sandbox Code Playgroud)
这里_arrController是我的NSArrayController的IBoutlet,dataArray是带有数据的NSmutableArray.
当我以编程方式进行绑定时,我成功地填充了Tableview.但是我无法通过Interface Builder实现相同的绑定.
我选择了我的IB中的ArrayController,转到绑定部分,并通过选择模型键路径作为dataArray.But尝试在控制器部分下进行绑定.但是,我的表没有填充数据,其中以编程方式我可以轻松地完成我的任务.任何帮助表示赞赏.
小智 6
这是一个可以帮助您解决问题的示例.
@interface ExAppDelegate:NSObject
@property(assign)IBOutlet NSWindow*窗口;
@property(强)NSMutableArray*demoArray;
@property(强)IBOutlet NSArrayController*demoArrayController;
@结束
下面是同一个类的实现
@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
Run Code Online (Sandbox Code Playgroud)
现在,UI绑定 - >
注意:
1.将对象添加到绑定到Array Controller的数组后,确保在Array Controller上调用rearrangeObjects.
[self.demoArrayController rearrangeObjects];
2.在表视图列绑定中,确保已选中"连续更新值"复选框.
我希望这可以解决这个问题.
归档时间: |
|
查看次数: |
4991 次 |
最近记录: |