将值添加到NSTableview中,使我可以随意对其重新排序

用户名

我有一个NSTableView,需要添加值。我本来想用来做的NSArrayController,但是在我的桌子旁边有四个按钮:移至顶部,向上移,向下移,移至底部。我必须能够使用这些按钮对表中的条目进行重新排序。

我唯一想到的是使用字典数组,其中字典的第一项是显示的值,字典的第二项是用于对数组进行排序的双精度型。如果我向上或向下移动一个值,则在目标求和前后将条目的排序值求和,然后除以二。

我不确定我正在考虑的解决方案是否合适。在这种情况下最好的方法是什么?

- - - 编辑 - - -

正在处理它,现在我很难将更新的“ order”值写入arraycontroller。除此之外,一旦值被更新,我实际上很难用“ order”列对表进行排序。这是我的代码:

-(IBAction)singleMoveKeywordUp:(id)sender
{
NSInteger selectedRow = [singleKeywordTable selectedRow];
double firstnum;
double secondnum;
double newnum;

NSMutableDictionary *kwmutabledict = [[NSMutableDictionary alloc] init];

if (selectedRow < 2)
{
    firstnum = 0;
    kwmutabledict = [keywordscontroller.arrangedObjects objectAtIndex:0];
    secondnum = [[kwmutabledict valueForKey:@"order"] doubleValue];
}
  else
{

    kwmutabledict = [keywordscontroller.arrangedObjects objectAtIndex:selectedRow-2];
    firstnum = [[kwmutabledict valueForKey:@"order"] doubleValue];
    kwmutabledict = [keywordscontroller.arrangedObjects objectAtIndex:selectedRow-1];
    secondnum = [[kwmutabledict valueForKey:@"order"] doubleValue];

}


NSMutableDictionary *newkwmutabledict = [[NSMutableDictionary alloc] init];
newnum = (firstnum + secondnum)/2;



[newkwmutabledict setObject:[NSString stringWithFormat:@"%@",[kwmutabledict valueForKey:@"keyword"]] forKey: @"keyword"];
[newkwmutabledict setObject:[NSString stringWithFormat:@"%f",newnum] forKey: @"order"];

[keywordscontroller.arrangedObjects replaceObjectAtIndex:selectedRow withObject:newkwmutabledict] ; //<--------

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES];

[singleKeywordTable setSortDescriptors:[NSArray arrayWithObject:sort]];
}

这在标有错误信息的箭头的行中失败了,-[_NSControllerArrayProxy replaceObjectAtIndex:withObject:]: unrecognized selector sent to instance 0x100450520 我无法弄清楚出了什么问题。

拉克希米

keywordcontroller.arrangedObjects返回(NSArray *),这是不可变的,并且NSArray不包含选择器“ replaceObjectAtIndex:withObject:”。因此,异常/错误“无法识别的选择器”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将值添加到NSTableview中,使我可以随意对其重新排序

来自分类Dev

我可以将数字添加到int值中而不是对其进行更改吗?

来自分类Dev

将 np.array 数据添加到 Pandas 数据框中的列后,我可以对其进行排序吗?

来自分类Dev

为什么我可以将项目添加到列表中但不能重新分配?

来自分类Dev

将多个值添加到字典,然后对其进行排序

来自分类Dev

我可以将paintComponents()添加到数组中吗?

来自分类Dev

我可以将课程添加到链接中吗

来自分类Dev

我可以将 JLabels 添加到数组中吗?

来自分类Dev

我想以一种排序方式将id添加到我的表中

来自分类Dev

BooleanProperty,其值取决于是否将节点添加到场景中

来自分类Dev

将for循环的输出添加到data.frame中,以便我可以在R中使用ggplot2对其进行图形处理

来自分类Dev

如果需要,将空值排序并添加到数组中

来自分类Dev

我可以将javascript原型添加到我的数组实例中吗?

来自分类Dev

我可以将SVG文件中的动画添加到Android启动屏幕中吗?

来自分类Dev

为什么我可以将脚本添加到 package.json 中的脚本中?

来自分类Dev

在scala中可以将多个数组值添加到列表中?

来自分类Dev

如何将命名向量作为行添加到数据框中,并根据列名顺序重新排序?

来自分类Dev

如何将命名向量作为行添加到数据框中,并根据列名顺序重新排序?

来自分类Dev

重新排序后如何将项目添加到嵌套的ui-ui-tree列表中?

来自分类Dev

我可以将样式标签添加到innerHTML吗?

来自分类Dev

我可以将pattern属性添加到textarea吗?

来自分类Dev

我可以将样式标签添加到innerHTML吗?

来自分类Dev

我可以将pattern属性添加到textarea吗?

来自分类Dev

我可以/应该将Cloudfront添加到在弹性beantalk上运行的Web服务中吗

来自分类Dev

我可以将超链接添加到Apple应用商店描述中吗

来自分类Dev

我们可以将CV限定词添加到main的参数中吗?

来自分类Dev

我可以将Click Listener添加到自定义Toast中吗

来自分类Dev

NLTK:我可以将终端添加到已经生成的语法中吗

来自分类Dev

我可以将通配符依赖项添加到deb包中吗?

Related 相关文章

  1. 1

    将值添加到NSTableview中,使我可以随意对其重新排序

  2. 2

    我可以将数字添加到int值中而不是对其进行更改吗?

  3. 3

    将 np.array 数据添加到 Pandas 数据框中的列后,我可以对其进行排序吗?

  4. 4

    为什么我可以将项目添加到列表中但不能重新分配?

  5. 5

    将多个值添加到字典,然后对其进行排序

  6. 6

    我可以将paintComponents()添加到数组中吗?

  7. 7

    我可以将课程添加到链接中吗

  8. 8

    我可以将 JLabels 添加到数组中吗?

  9. 9

    我想以一种排序方式将id添加到我的表中

  10. 10

    BooleanProperty,其值取决于是否将节点添加到场景中

  11. 11

    将for循环的输出添加到data.frame中,以便我可以在R中使用ggplot2对其进行图形处理

  12. 12

    如果需要,将空值排序并添加到数组中

  13. 13

    我可以将javascript原型添加到我的数组实例中吗?

  14. 14

    我可以将SVG文件中的动画添加到Android启动屏幕中吗?

  15. 15

    为什么我可以将脚本添加到 package.json 中的脚本中?

  16. 16

    在scala中可以将多个数组值添加到列表中?

  17. 17

    如何将命名向量作为行添加到数据框中,并根据列名顺序重新排序?

  18. 18

    如何将命名向量作为行添加到数据框中,并根据列名顺序重新排序?

  19. 19

    重新排序后如何将项目添加到嵌套的ui-ui-tree列表中?

  20. 20

    我可以将样式标签添加到innerHTML吗?

  21. 21

    我可以将pattern属性添加到textarea吗?

  22. 22

    我可以将样式标签添加到innerHTML吗?

  23. 23

    我可以将pattern属性添加到textarea吗?

  24. 24

    我可以/应该将Cloudfront添加到在弹性beantalk上运行的Web服务中吗

  25. 25

    我可以将超链接添加到Apple应用商店描述中吗

  26. 26

    我们可以将CV限定词添加到main的参数中吗?

  27. 27

    我可以将Click Listener添加到自定义Toast中吗

  28. 28

    NLTK:我可以将终端添加到已经生成的语法中吗

  29. 29

    我可以将通配符依赖项添加到deb包中吗?

热门标签

归档