Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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
Macos 按字母顺序对NSPOUPMENU项排序_Macos_Cocoa_Sorting_Nsmenuitem_Nspopupbutton - Fatal编程技术网

Macos 按字母顺序对NSPOUPMENU项排序

Macos 按字母顺序对NSPOUPMENU项排序,macos,cocoa,sorting,nsmenuitem,nspopupbutton,Macos,Cocoa,Sorting,Nsmenuitem,Nspopupbutton,我想按字母顺序对nspopup按钮的NSMenuItems进行排序。 我检查了cocoa引用,但找不到执行此操作的函数。 是我遗漏了什么,还是我必须编写自己的排序函数? 提前感谢没有方法对项目进行排序,但是您可以: 使用itemArray它可以获得所有项目的数组 使用NSArray排序方法之一对该数组进行排序 从菜单中删除现有项目removeAllItems 不幸的是,没有多个add方法,所以对排序的数组和addItem:每个数组使用快速枚举 没有适当的方法对项目进行排序,但是您可以: 使用it

我想按字母顺序对
nspopup按钮的
NSMenuItem
s进行排序。
我检查了cocoa引用,但找不到执行此操作的函数。 是我遗漏了什么,还是我必须编写自己的排序函数?
提前感谢

没有方法对项目进行排序,但是您可以:

  • 使用
    itemArray
    它可以获得所有项目的数组
  • 使用
    NSArray
    排序方法之一对该数组进行排序
  • 从菜单中删除现有项目
    removeAllItems
  • 不幸的是,没有多个add方法,所以对排序的数组和
    addItem:
    每个数组使用快速枚举

  • 没有适当的方法对项目进行排序,但是您可以:

  • 使用
    itemArray
    它可以获得所有项目的数组
  • 使用
    NSArray
    排序方法之一对该数组进行排序
  • 从菜单中删除现有项目
    removeAllItems
  • 不幸的是,没有多个add方法,所以对排序的数组和
    addItem:
    每个数组使用快速枚举

  • 我也是这么想的。我像你说的那样使用数组并完成了任务。具体地说,我收集了
    NSMutableArray unsortedValues
    中的标题,然后
    NSArray*sortedValues=[unsortedValues sorteddarrayingselector:@selector(localizedCaseInsensitiveCompare:)(使用nspoupbutton=mymenu)
    [mymenu addItemsWithTitles:sortedvalue]谢谢你的回复顺便说一下:)这也是我想出来的。我像你说的那样使用数组并完成了任务。具体地说,我收集了
    NSMutableArray unsortedValues
    中的标题,然后
    NSArray*sortedValues=[unsortedValues sorteddarrayingselector:@selector(localizedCaseInsensitiveCompare:)(使用nspoupbutton=mymenu)
    [mymenu addItemsWithTitles:sortedvalue]谢谢您的回复(顺便说一句:)