Swift中的函数数组

Swift中的函数数组,第1张

概述如何存储一个函数数组,以便稍后在JavaScript中的数组中回调? Any和AnyObject类型不能保存具有不同类型的方法签名的函数。 您可以使用枚举将各种功能放入Array中,然后使用开关提取功能。 enum MyFuncs { case Arity0 ( Void -> Void ) case Arity2 ( (Int, String) -> Void) 如何存储一个函数数组,以便稍后在JavaScript中的数组中回调? Any和AnyObject类型不能保存具有不同类型的方法签名的函数。 您可以使用枚举将各种功能放入Array中,然后使用开关提取功能。
enum MyFuncs {        case Arity0 ( VoID -> VoID )        case Arity2 ( (Int,String) -> VoID)    }    func someFunc(n:Int,S:String) { }    func boringFunc() {}    var funcs = Array<MyFuncs>()    funcs.append(MyFuncs.Arity0(boringFunc))    funcs.append( MyFuncs.Arity2(someFunc))    for f in funcs {        switch f {        case let .Arity0(f):            f()  // call the function with no arguments        case let .Arity2(f):            f(2,"fred") // call the function with two args        }    }
总结

以上是内存溢出为你收集整理的Swift中的函数数组全部内容,希望文章能够帮你解决Swift中的函数数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存