【问题标题】:How to add function parameter after selector parameter Swift如何在选择器参数Swift之后添加函数参数
【发布时间】:2020-07-18 18:33:41
【问题描述】:

我正在编写一个定义如下的函数

@objc public func artOptionsTapped(_ barButtonItem: UIBarButtonItem, imageReferences: [StorageReference]?)

如果我想传入一个名为images 的列表作为imageReferences 参数,我想知道调用此函数的正确方法是什么。我试着这样称呼它:

#selector(artOptionsTapped(:_, imageReferences: images))

但这导致我出错。谢谢!

【问题讨论】:

  • 不可能。您必须创建一个临时变量。

标签: ios swift button selector


【解决方案1】:

假设我正确地解释了您的问题,您需要一个指向 artOptionsTapped 的选择器,其中 imageReferences 参数始终为 images。这是部分函数应用程序,目前 Swift 不原生支持。要获得等效功能,请尝试以下操作:

let images = getImages() // however you get the images
let closure = { (barButtonItem: UIBarButtonItem) in
    artOptionsTapped(barButtonItem, images)
}
#selector(closure(_:))

(公平的警告,这可能行不通——我自己没有尝试过,我可能不理解你尝试这个的上下文,但我认为值得一试)

【讨论】:

    猜你喜欢
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 2010-09-23
    相关资源
    最近更新 更多