首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSControl的addTarget()方法在哪里?

NSControl的addTarget()方法在哪里?
EN

Stack Overflow用户
提问于 2018-09-24 14:11:48
回答 2查看 811关注 0票数 1

所以我好几年没看Swift/Cocoa了。我刚刚使用Xcode 10.0创建了一个简单的macOS应用程序,并看到NSControl不再有addTarget(...)方法。它看起来被id类型的id属性替换了。

现在如何为按钮单击这样的操作添加处理程序,因为我需要指定操作(例如,单击)、要调用的对象以及调用该对象的选择器。

解决方案:

代码语言:javascript
复制
let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
statusItem.button?.target = self
statusItem.button?.action = #selector(didClick(_:))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-24 14:22:39

对,基于方法的语法foo.addTarget(self)已经被基于属性的语法foo.target = self所取代。它仍然存在于UIKit中,因为在Cocoa中,您还必须指定控制事件。

所有相关的NSControl子类都有init方法来传递targetaction

票数 1
EN

Stack Overflow用户

发布于 2018-09-24 14:20:52

它还在那里..。您可能需要检查文档作为复习器。

https://developer.apple.com/documentation/uikit/uicontrol/1618259-addtarget

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52481264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档