Swift 从UIButton更改UIBarButtonItem后出现错误

Swift 从UIButton更改UIBarButtonItem后出现错误,swift,Swift,我遇到了这个问题,我得到了一些示例代码,我试图用UIBarButtonims交换两个普通按钮 有人能说我的代码有什么问题吗?我不知道普通按钮和uibarbuttonims有那么大的不同 因此,我将showPopup中的发件人从UIView更改为UIButton,但现在出现另一个错误,请参见下面的屏幕截图 很抱歉发布代码的图像,但不是代码。 以下是shopPopup函数: 这是func添加按钮。这就是第一个错误所在 @IBAction func addButton(_ sender: UIBar

我遇到了这个问题,我得到了一些示例代码,我试图用UIBarButtonims交换两个普通按钮

有人能说我的代码有什么问题吗?我不知道普通按钮和uibarbuttonims有那么大的不同

因此,我将showPopup中的发件人从UIView更改为UIButton,但现在出现另一个错误,请参见下面的屏幕截图

很抱歉发布代码的图像,但不是代码。 以下是shopPopup函数:

这是func添加按钮。这就是第一个错误所在

@IBAction func addButton(_ sender: UIBarButtonItem) {
    showPopup(sender: sender, mode: "new")
}
这是发生第二个错误的部分

@objc func handleLongPress(_ gesture: UILongPressGestureRecognizer) {
if gesture.state != .began { return }

let pt = gesture.location(in: tableView)
if let path = tableView.indexPathForRow(at: pt),
   let row = (path as NSIndexPath?)?.row,
   let cell = tableView.cellForRow(at: path)
{

  showPopup(sender: cell,
            mode: "edit",
            text: todoList[row],
            row: row)
}
}
更新了上次发生错误的屏幕截图。 你必须这样做

 func showPopup(sender: UIButton, mode: String, text:String = "", row:Int = 0)

将发件人从UIView更改为UIButton

请不要添加代码图像,而是粘贴代码。此外,条形按钮项不是视图,但popover演示控制器可以选择使用条形按钮项作为源。抱歉。修好了。我也很抱歉我的英语不好,我希望我能解释我的问题,我一个支持的方式。谢谢你的帮助!将发件人从UIView更改为UIButton后,如何在addButton中替换发件人?现在又出现了另一个错误,图片出现在主帖子中。请尝试此func showPopusSender:AnyObject,mode:String,text:String=,row:Int=0将发件人更改为AnyObjectWow,这很有帮助!现在addButton和单元格都不会显示任何错误消息。但是,相反,popPC.sourceView=发送方显示了一个错误:无法将类型“AnyObject”的值分配给类型“UIView?”如果您想使UIView可作为UIButton单击,那么您必须将自定义类设置为UIControl以在Main中显示UIView。情节提要对不起,我不明白。问题不在于UIView,而是showPopup中的popPC.sourceView=sender行,我想这与显示弹出窗口的位置有关。还是我错了?
 func showPopup(sender: UIButton, mode: String, text:String = "", row:Int = 0)