代码之家  ›  专栏  ›  技术社区  ›  RobertJoseph

NSControl的addTarget()方法在哪里?

  •  0
  • RobertJoseph  · 技术社区  · 7 年前

    所以我已经好几年没看Swift/Cocoa了。我刚刚用xcode10.0创建了一个简单的macOS应用程序 NSControl 不再有 addTarget(...) 方法。好像被一个 target id .

    既然我需要指定操作(例如click)、要调用的对象以及要调用该对象的选择器,那么现在如何为按钮单击之类的操作添加处理程序呢。


    解决方案:

    let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
    statusItem.button?.target = self
    statusItem.button?.action = #selector(didClick(_:))
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   vadian    7 年前

    对,基于方法的语法 foo.addTarget(self) 已替换为基于属性的语法 foo.target = self UIKit 因为在Cocoa Touch中,还必须指定控制事件。

    所有相关的 NSControl 子类有 init 通过的方法 target action

        2
  •  -2
  •   dniswhite    7 年前

    它还在那里。。。您可能需要将文档作为复习资料进行复习。

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

    推荐文章