0

Not sure how to pass the device uniqueId into my setDevice function. I have a selector in my menuItem. I would like to pass the uniqueId into the setDevice function but currently I get error: Argument of '#selector' does not refer to an '@objc' method, property, or initializer

override func buildMenu(with builder: UIMenuBuilder) {
      super.buildMenu(with: builder)

    /// Output device list
    ReactNativeMidiKit().midiManager.endpoints.outputs.forEach { device in
      /// Menu item
      let menuItem = UIKeyCommand(title: device.name,
                                  action: #selector(setDevice(deviceId: device.uniqueID)),
                                     state: device.uniqueID == selectedUniqueID ? .on : .off)
      
      /// Top Level Menu
      let MidiDeviceMenu = UIMenu(title: "Midi Devices", children: [menuItem])
      
      /// Add the menu
      builder.insertSibling(MidiDeviceMenu, afterMenu: .application)

@objc
  func setDevice(deviceId: Any){
    print(deviceId)
    //other stuff

   UIMenuSystem.main.setNeedsRebuild()
  }
}
Jerry Seigle
  • 417
  • 4
  • 12

0 Answers0