Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSTableView的自定义NSView不更新组件_Objective C_Cocoa_Interface Builder - Fatal编程技术网

Objective c NSTableView的自定义NSView不更新组件

Objective c NSTableView的自定义NSView不更新组件,objective-c,cocoa,interface-builder,Objective C,Cocoa,Interface Builder,我为NSTableView创建了自定义NSView 我正在尝试使用界面生成器填充我在其中创建的字段,但我不能。我想说的是,每个组件都链接正确,代码正常 这就是函数 - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { Account *account = (Account *)[self.dataSource o

我为NSTableView创建了自定义NSView

我正在尝试使用界面生成器填充我在其中创建的字段,但我不能。我想说的是,每个组件都链接正确,代码正常

这就是函数

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    Account *account = (Account *)[self.dataSource objectAtIndex:row];

    AccountTableCellViewController *controller = [[AccountTableCellViewController alloc] init];
    controller.subtitleLabel.stringValue = account.name;
    [controller.titleLabel setStringValue:account.num];
    NSLog(@"%@", controller.titleLabel);
    return [controller view];
}
下面是绑定的图片:

该表正确显示了所有行,但未按预期填充NSTEXT字段

更新:

这就是它的样子(不更新视图):


有什么建议吗?

标签还没有从nib加载。我只需要在您的视图控制器中创建一个额外的帐户实例变量,在那里分配它,然后将信息加载到
-(void)awakeFromNib

中。您能给我们一个屏幕截图,说明它是如何不填充NSTextField的吗?我已经更新了问题!问题是没有更新文本字段,而不是它的位置:)愚蠢的我,应该正确地阅读问题:p我编辑了我的答案以提供一些建议。controller.titleLabel为null,显然控件尚未初始化。知道为什么会发生这种情况吗?标签还没有从nib加载。我可能只是在视图控制器中创建一个额外的account实例变量,在那里分配它,然后在
-(void)awakeFromNib
中加载信息!这就是解决办法。你能把它写在答案里,这样我就可以投你的票了吗?