问题标签 [nspopupbutton]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1270 浏览

xcode - 避免“无法将 ...class... 转换为类型编号。” 错误

我写了这段代码,但我得到了这个调试错误:

谁能告诉我如何修复我的代码?如何避免错误?

0 投票
1 回答
235 浏览

objective-c - 绑定一个 NSPopUpButton

好的,这是我的情况:

  • 我有一个NSDictionary,让我们称之为:myItem
  • myItem.valueNames包含我想在弹出窗口中显示的值
  • myItem.values包含弹出窗口必须返回的值(例如对于 valueName[0] -> value[0],等等)
  • myItem.value包含当前值

我想怎么绑定它?即使我研究过官方参考,它仍然看起来有点晦涩......

我目前正在绑定:

  • myItem.valueNamesContent
  • myItem.valuesContent Objects
  • myItem.valueSelected Value

并且...我所做的只是它显示了valueNames.

有任何想法吗?

0 投票
2 回答
2402 浏览

objective-c - 如何为 NSPopUpButton 进行项目更改?

我正在尝试实现一个基于NSPopUpButton.
到目前为止,我已经尝试执行下面代码中显示的操作,但是每当我运行它时,代码都会跳转到else子句中,引发警报

那么这里有人知道如何解决这个问题吗?

0 投票
1 回答
500 浏览

objective-c - 在加载表单时恢复对 NSPopUpButton 的选择

请帮忙,这让我发疯:(

我有一个表单作为我正在编写的 OSX Cocoa 应用程序的一部分,它使用 NSPopUpButton 来选择您正在创建/编辑的记录类型。

我正在使用绑定将弹出按钮绑定到数组控制器,并且我选择的值绑定到 NSString。

我可以填充弹出窗口,可以选择一个项目并保存记录,但有两件事我做错了:

1) 选定的值对象包含项目的文本名称而不是其键 - 我已设置内容对象绑定

2)我无法在重新加载表单时恢复弹出窗口的选定项目。

以下是一些可提供帮助的代码示例:

@实现片段:

@interface 片段:

在界面生成器中:

acMediaTypes 是名为 mediaTypes 的数组控制器对象的引用出口 popMediaType 是表单上 NSPopUpButton 的引用出口

我的 NSPopUpButton 的绑定是这样配置的:

弹出窗口正确显示,正确显示数组“名称”部分的文本。

如果我使用 NSLog() 之类的代码读取selMediaType我的代码,那么我会看到“视频”,例如,如果选择了该项目 - 它应该是“视频”(字典中“值”部分的小写字母)

我可以毫无问题地将值存储在我的 sqlite 数据库中,并使用终端中的 sqlite3 检查它们并保存所有内容。

如果我从表中加载值,我会认为只是设置selMediatype会重置 NSPopUpButton 中的项目位置,但事实并非如此。

0 投票
1 回答
2605 浏览

objective-c - 以编程方式将菜单+项目添加到 NSPopupButton

我有一个自定义类“BackupIncrement”,它从 sqlite3 数据库中获取数据,并且工作得很好。我还有一个NSPopUpButton名为“pubDefaultIncrement”的连接在IB.

最终结果是我希望popupbutton填充有意义的标题,并且每个menuitem或值都是数据库中的增量 id(主键)。

这是有问题的代码:

sql 工作,它循环 5 次从 sqlite3 表中获取每一行。

这个:

打印出包含 5 个菜单项对象的菜单对象。

但是,当我运行我的项目代码时,弹出按钮有 3 件事。

我最初尝试使用 ArrayController 和 Bindings 进行此操作,但我似乎无法让每个菜单项的标签正常工作。如果这是这样做的方法,我很乐意听取绑定的正确方法。

仅供参考,BackupIncrement 对象公开了 4 个属性:

So again - ideally id have the NSPopUpButton populate with menuitems which have strIncrementValueDescription as the visible "content" and the corresponding intIncrementId as the "value" such that when an item is selected I can get the tag or whichever an then act accordingly.

谁能指出我正确的方向?

0 投票
0 回答
305 浏览

objective-c - 绑定到 NSArrayController 的 NSPopupButton 未更新

我有一个绑定到 NSArrayController 的 NSPopupButton。(伙计,这比我想象的要难!)

我有一个 NSArrayController 通过 NSArrayController 的“控制器内容”绑定绑定到一个 NSMutableArray。

NSPopupButton 的“内容”和“内容值”绑定绑定到我的 NSArrayController,而“选定对象”绑定到我的应用委托中的成员。

它正在按我的预期工作。除了,当我将项目添加到我的 NSArrayController 绑定到的 NSMutableArray 时,它们不会出现在弹出窗口中。我有点期望这会自动工作...... NSArrayController 观察 NSMutableArray 并根据需要更新 NSPopupButton 。

显然我错过了一些东西。

[更新]

好的,显然我正在以数组控制器无法看到的方式将项目添加到我的数组中。我终于找到了这个...

https://developer.apple.com/library/mac/documentation/cocoa/conceptual/CocoaBindings/Concepts/Troubleshooting.html

但我真的不明白这是什么意思。

当“加法器”不知道有绑定到数组的 UI 元素时,有谁知道将项目动态添加到绑定 NSMutableArray 的正确方法的简单示例?

任何帮助将不胜感激。

0 投票
1 回答
123 浏览

core-data - 从核心数据填充主从 NSPopUp

这是我的 CoreData 模型。关系是无序的。

光盘模型

我想让这个模型填充一对 NSPopUp 按钮,如下所示:

光盘模型

选择团队弹出窗口后,玩家弹出窗口应填充所选团队的适用玩家,然后将由用户选择。

这是我尝试过的:

我用 CD-moc 创建了两个 NSArrayController,TeamListPlayerList,都设置为实体模式。对于我的绑定,我执行以下操作:

使用控制器键排列 对象将团队弹出内容绑定到TeamList使用控制器键排列对象和模型键路径团队名称将团队弹出内容值绑定到TeamList

使用控制器键排列 对象将播放器弹出内容绑定到PlayerList使用控制器键排列对象和模型键路径将播放器弹出内容值绑定到PlayerList playerName

这似乎有效,不考虑 CD 关系(它在播放器弹出窗口中显示所有播放器)。

为了造成这种关系,我尝试了以下操作: 使用控制器键选择和模型键路径
playerList将PlayerList数组控制器内容集绑定到TeamList

这最初会为“选定”团队拉入玩家子集,但不会在用户更改团队弹出窗口时重新填充。

顺便说一句,我相信这里提出了这个(未回答的)问题:
How to create two cascade NSPopUp button with Core-Data binding

关于如何使这项工作的任何提示?

真正的好处是只有一个带有嵌入式子菜单的弹出窗口(团队>玩家)。

0 投票
1 回答
98 浏览

nstableview - 延迟打开 NSPopUpButton

我遇到了和这个一样的问题: 这个。 到目前为止,它从未得到答复。用两句话来说:

当您将 NSPopUpButtonCell 放置在 NSTableView 中时,弹出窗口会在 tableView 中的选择发生更改之前打开。

如果popUp的菜单依赖于tableView的某一行的选择,那么更新就来不及了。

解决方案 1:将弹出窗口的打开与几纳秒后调用 [super] 的块不同。但我不知道我必须重写哪种方法。

解决方案 2:使用我当前正在使用的其他绑定(popUp 包含在表中选择的实体的 NSSet,我使用的是不同的控制器,而不是表的控制器,并且我将其内容集绑定到 myTable.selection。集。

还有什么我可以做的吗?谢谢 !

0 投票
1 回答
231 浏览

objective-c - NSPopupButton,已安装卷的列表

全部。我是 Objective-c 的新手,我的问题是如何连接我的 PupupButton 以查看我的卷列表作为附加的 USB 硬盘驱动器等...可选择:

我的控制器.h

这在我的 .m 上:

我想要一个我的设备列表(可移动和不可移动),但我收到此错误:

我还想将磁盘标识符写入 plist 文件......但我停止了上面的错误。

有什么建议吗?

0 投票
1 回答
792 浏览

cocoa - 如何为 NSPopUpButton 配置内容

我有一个配置了绑定和核心数据的 NSPopUpButton。一切正常,但是我想添加一个实现“编辑列表”操作的项目,比如

这可能与绑定有关吗?

我认为答案是否定的,至少不完全是。我以为我会以编程方式向按钮提供内容并维护Selected Value的绑定,所以这就是我想出的

我遇到的几个问题

1)当使用添加菜单项时

无论在 atIndex 中输入什么值,该项目始终出现在菜单列表的顶部。

2)我只想让“编辑列表...”菜单项启动操作,如何防止它被选为值?