【发布时间】:2013-02-15 17:40:02
【问题描述】:
我已经构建了一个包含多个嵌套层的 NSDictionary,我想将其复制为 NSMenu,这样当我的 NSDictionary 更新时,我的 NSMenu 也会更新。例如,如果我有一个 NSDictionary 包含:
Item1
|---Item 1.1
|---Item 1.2
Item2
|---Item 2.1
| |---Item 2.1.1
|---Item 2.2
|---Item 2.3
Item3
这应该会导致我的菜单包含三个条目 - 第 1 项、第 2 项和第 3 项。第 1 项和第 2 项应该是子菜单,第 2.1 项也是如此。
如果我删除第 2 项,那么第 2 项及其所有子菜单也应删除。
问题是我不知道如何解决这个问题。我知道如何以编程方式制作 NSMenu,所以我不会在没有任何知识的情况下处理这个问题,但我不知道如何以这种方式模拟绑定。
任何帮助都将不胜感激。
【问题讨论】:
-
您能解释一下为什么您总是希望通过 NSDictionary 来操作菜单吗?我很难理解练习的重点,所以我觉得我给出的任何答案也可能会错过重点。
-
@Chuck 我试图在菜单中表示计算机 USB 树中的所有设备。因此,当 USB 树发生更改(例如,添加或删除设备)时,菜单也会相应更新。示例中的 Item1 将是控制器 1,Item 1.1 是连接到该控制器的第一个设备,依此类推。我试图“泛化”我的示例,以使其尽可能广泛地有用。
标签: objective-c cocoa nsdictionary nsmenu