gpt4 book ai didi

swift - Swift 中带有选择器的内联 block /函数

转载 作者:行者123 更新时间:2023-11-28 05:32:47 26 4
gpt4 key购买 nike

Swift 中的内联选择器是否具有本地语言功能?如果没有,是否有一个优雅的模式?

例如,使用选择器的 NSTimer。这是一种无需任何内联函数或 block 即可实现的方法:

var timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "update", userInfo: nil, repeats: false)

@objc func update() {
print("timer up")
}

我宁愿有这样的东西。 这是一个概念,无法编译。

var timer = NSTimer.scheduledTimerWithTimeInterval(2,
target: self,
selector: { println("timer up") }, // What can I do here?
userInfo: nil,
repeats: false)

这类似于question问及 Objective C 中的内联选择器。

最佳答案

此代码桥接到 Objective-C,无法在那里执行。您传递的字符串最终会转换为选择器 (SEL) 并传递给 objc_msgSend。所以,不。

你可以看看BlocksKit ,这adds these NSTimer methods ,这将转换为 Swift 中的闭包。

关于swift - Swift 中带有选择器的内联 block /函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27048695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com