gpt4 book ai didi

objective-c - 获取父菜单中 NSMenuItem(发送者)的索引

转载 作者:行者123 更新时间:2023-12-03 16:55:10 28 4
gpt4 key购买 nike

我有一个 NSMenu(应用程序停靠菜单),其中有几个具有相同操作的项目。

如何找出发件人项目(触发操作的项目)在其容器菜单中的索引? (我对标题不感兴趣,因为它可能是重复的)

这就是我尝试过的,但它一直返回 0(零)。

- (void)myAction:(id)sender
{
NSMenuItem* mi = (NSMenuItem*)sender;

int index = [[[mi parentItem] submenu] indexOfItem:mi];

NSLog(@"Clicked item with index : %d",index);
}

有什么想法吗? (有没有更好的方法来实现同样的目标?)

最佳答案

您可以使用菜单项的 representedObject 来存储对应用中某个对象的引用。在您的情况下,您可能会使用菜单项引用的文档:

[aMenuItem setRepresentedObject:yourDocument];

然后您可以像这样访问操作中的对象:

- (void)myAction:(id)sender
{
NSMenuItem* mi = (NSMenuItem*)sender;
YourDocument* doc = (YourDocument*)[sender representedObject];
//do something with doc
}

关于objective-c - 获取父菜单中 NSMenuItem(发送者)的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10222108/

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