> x 5
> x-5
> x / 5
> x * 5
所以我可以用arrayname [i]加载一个公式并给出x的值并得到答案.有没有办法做到这一点,如果是这样的话怎么样?
解决方法 您可以使用一系列块来实现此目的.每个块将接收参数x并返回一个值,计算您的一个函数.然后,您可以选择数组的任何位置并执行它.它将是这样的:
typedef CGfloat (^MyFunction)(CGfloat); //using a typedef to ease the heavy Syntax of the blocksMyFunction function1 = ^CGfloat(CGfloat x){ return x + 5;};MyFunction function2 = ^CGfloat(CGfloat x){ return x - 5;};MyFunction function3 = ^CGfloat(CGfloat x){ return x / 5;};MyFunction function4 = ^CGfloat(CGfloat x){ return x * 5;};NSArray *functions = @[function1,function2,function3,function4];
现在您可以访问数组的任何位置,并执行所选的块,如下所示:
MyFunction myFunction = functions[3];CGfloat test = myFunction(5); //test will hold 25,because the selected block is 'x * 5'
显然,你可以为数组的任何索引更改3.当然,您可以声明上述任何其他函数,并将它们添加到数组中.
我测试过,效果很好.希望它有所帮助.
总结以上是内存溢出为你收集整理的ios – 公式数组全部内容,希望文章能够帮你解决ios – 公式数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)