【问题标题】:arraycontroller nsmutablearray add programmaticallyarraycontroller nsmutablearray 以编程方式添加
【发布时间】:2012-08-14 02:45:50
【问题描述】:

我试图通过绑定到 NSMutableArray 的数组控制器在表视图上添加数据。 在 IB 属性上,它看起来像这样:

在代码上我尝试动态添加 NSMutableArray 然后重新加载视图,但没有发生任何事情。

for(int i=0;i<10;i++){
        NSMutableDictionary *group = [[NSMutableDictionary alloc]init];
        [group setValue:[NSString stringWithFormat:@"%@-%d", @"Group", i] forKey:@"groupname"];
        [contentArray addObject:group];
    }
    [tableContent reloadData];

我一直在谷歌它并在stackoverflow中浏览相同的问题,但没有找到有用的问题。

有什么想法吗?

谢谢

更新

我在 File 的所有者类中编写了上面的代码。

【问题讨论】:

  • 你贴的代码是哪个类的?而且,您是否记录了 contentArray 以确保其中包含您期望的对象?
  • @rdelmar contentArray 是指 NSMutableArray,tableContent 是指 NSTableView,它是一个 IBOutlet。
  • 这不是我问的问题。您发布的代码是什么类?它在应用委托中吗?
  • 不是应用程序委托,而是文件所有者的类,好的,我会更新我的问题

标签: objective-c xcode cocoa nsmutablearray nsarraycontroller


【解决方案1】:

我认为问题在于数组需要向数组控制器发送 KVO 通知(或者可能是表视图,我不确定)。这样做的方法是:

self.contentArray = contentArray; (或 _contentArray 如果这是您的 ivar 的名称)。我假设 contentArray 是一个属性,如果不是,你应该把它设为一个。

【讨论】:

  • 感谢您的回答。嗯...实际上我已经把我的 contentArray 作为一个属性。
  • @arufian 是的,但是您是否添加了我在答案中输入的行?
  • 是的,我放了那个,什么也没发生。顺便说一句,我可以问一个简单的问题吗(虽然它不相关)。是否可以使用基于 Snow Leopard 的视图构建 nstableview?
  • 我不记得你是否可以在 Snow Leopard 上做到这一点。您是否使用基于视图的表格?如果是这样,列绑定到什么?它应该可以工作,绑定肯定还是有问题。
  • 我认为这不对。表格视图的内容绑定应该绑定到数组控制器排列对象。 textField 应该使用 objectValue.groupName 的模型键路径绑定到 Table Cell View 这一切都在“为基于视图的表视图创建绑定”部分的表视图编程指南中进行了描述
猜你喜欢
  • 1970-01-01
  • 2012-02-29
  • 2021-08-23
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多