【问题标题】:Addings functions to an array in swift快速将函数添加到数组中
【发布时间】:2016-02-24 19:58:42
【问题描述】:

我想知道是否可以在 swift 中将函数添加到数组中?如果可以,我将如何去做,一个例子会很有帮助。

提前谢谢你

    enum MyFunc{
    case Arity0 (Void ->Void) 


}

var cycle = Array<MyFunc>()

添加到数组中:

    func addToArray(){

    cycle.append(MyFunc.Arity0(ani1))
    cycle.append(MyFunc.Arity0(ani2))
    cycle.append(MyFunc.Arity0(ani3))
    cycle.append(MyFunc.Arity0(ani4))
    cycle.append(MyFunc.Arity0(ani5))

}

【问题讨论】:

  • 我认为你应该澄清这个问题。您是要创建一个函数数组还是要扩展 Array 类型的“功能”?两者都有可能。
  • @Eppilo ,我问这个问题的原因是,我在屏幕上有一组 5 张动画图像,它们都是相同的图像,我希望每个图像循环一个一,然后重复。每个图像都有一个允许动画发生的功能,尽管它可能是最好的(我在这里可能是错的),如果我将这些功能放入一个数组中,我可能能够单独为每个图像制作动画接二连三(抱歉回复太长)
  • 所以如果理解正确你想要声明一个函数数组。您需要做的就是将函数签名放在方括号中并初始化。示例:“ [()->()]() ”
  • @Eppilo 上述(添加的代码)也是将我的函数添加到数组的另一种方式。我的函数不返回任何内容。

标签: arrays xcode swift


【解决方案1】:

如果你想创建一个函数数组,并且每个函数不带参数并返回注意你可以这样做:

var cycle = [()->()]()
cycle.append(nameOfYourFunctionNoBrackets)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-18
    • 2019-11-20
    • 2019-01-31
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多