gpt4 book ai didi

objective-c - NSMenu 具有 2 个标准 + 可变数量的 NSMenuItems

转载 作者:行者123 更新时间:2023-12-03 17:58:43 25 4
gpt4 key购买 nike

我有一个NSMenu有 2 个默认项目(位于其顶部)。

然后菜单的其余部分将被填充。

我想要的是“保存”初始菜单的状态(其中包含两个项目),并将项目添加到该(原始)菜单中;而不仅仅是不断地添加和添加。

因此,如果我必须添加其他项目,则必须将它们添加到初始菜单中。

Example :

  • Menu At the beginning : A B |
  • Menu After User does This : A B | C D E
  • Menu After User does That : A B | G H I J K
  • etc

我该怎么办? (我尝试“保存”初始菜单,然后将其“复制”到当前菜单,以便我可以在其上添加项目,但它不起作用......:-S)

<小时/>
[DOC_UI setCurrentMenu:[[DOC_UI originalMenu] copy]];

// I'm adding the items here

for (NSMenuItem* mi in [[DOC_UI currentMenu] itemArray])
NSLog(@"orig :: mi : %@",[mi title]);

/* The weird thing is that the items ARE NSlogged, but the change is NOT reflected. */
/* (When I was just adding to the existing items, the items did show up...) */

最佳答案

如果您正在谈论菜单的菜单项,则当您想返回原始菜单时,可以删除循环中除前两个项目之外的所有项目。如果您有一个包含 2 个名为 userMenu 的默认项目的菜单,只需执行以下操作:

-(void)removeMenuItems {
for (NSInteger i=self.userMenu.itemArray.count - 1; i>1; i--) {
[self.userMenu removeItemAtIndex:i];
}

}

关于objective-c - NSMenu 具有 2 个标准 + 可变数量的 NSMenuItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com