SKAction:Perform(_:OnTarget:)中的选择符是什么 [英] What is a selector in SKAction: perform(_:onTarget:)

查看:26
本文介绍了SKAction:Perform(_:OnTarget:)中的选择符是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

文件上说:

Declaration

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

选择器

要调用的方法的选择器。

我不确定什么是方法的选择器。这就是问题所在。

它看起来像是方法/函数的名称,但(在我心中)造成了不确定性,因为它从来没有被描述为这个名称,所以我有点认为它可能是其他的东西,也许是更深刻的东西。

我假定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()
}

这篇关于SKAction:Perform(_:OnTarget:)中的选择符是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆