什么是 SKAction 中的选择器:perform(_:onTarget:)

What is a selector in SKAction: perform(_:onTarget:)

文档说:

Declaration:

class func perform(_ selector: Selector, onTarget target: Any) -> SKAction

selector

The selector of the method to call.

我不确定方法的选择器是什么。因此问题。

这似乎是 method/function 的名字,但(对我来说)产生了不确定性,因为它从来没有被描述为这个,所以我觉得它可能是别的东西,更深刻的东西, 也许。

我假设 perform(_:onTarget) 是一种让部分代码灵活地告诉对象在运行时决定执行什么操作的方法。但我不完全确定我的目的是否正确。这就是我考虑这个问题的背景。

我的问题不仅在上下文方面不同于链接的“相似”问题,而且还是一个不同且更具体的问题:此特定函数中的选择器是什么。

选择器是函数的名称,目标是执行函数的对象。您可以使用语法构造一个选择器:#selector(<function name>),例如:

class MyClass {

    func createAction() {
        let action = SKAction.perform(#selector(MyClass.myActionFunction), onTarget: self)
        // ...
    }

    @objc func myActionFunction() {
        // do stuff
    }
}

要为带参数的函数创建选择器,请使用语法:

#selector(MyClass.myActionFunction(arg1:arg2:))

您也可以使用块而不是选择器来完成同样的事情:

let action = SKAction.run { [weak self] in
    self?.myActionFunction()
}