【发布时间】: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 上述(添加的代码)也是将我的函数添加到数组的另一种方式。我的函数不返回任何内容。