gpt4 book ai didi

ios - 公式数组

转载 作者:可可西里 更新时间:2023-11-01 03:27:45 25 4
gpt4 key购买 nike

我想用这样的公式在 xcode 中创建一个 objective-c 数组..

  • x+5
  • x-5
  • x/5
  • x*5

所以我可以用 arrayName[i] 加载一个公式并给出 x 的值并得到答案。有没有办法做到这一点,如果有,怎么做?

最佳答案

您可以使用一组 block 来实现这一点。每个 block 都会接收一个参数 x 并返回一个值,计算您的一个函数。然后,您可以选择数组的任意位置并执行它。

它会是这样的:

typedef CGFloat (^MyFunction)(CGFloat);  //using a typedef to ease the heavy syntax of the blocks

MyFunction 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];

现在您可以访问数组的任何位置,并执行所选的 block ,如下所示:

MyFunction myFunction = functions[3];
CGFloat test = myFunction(5); //test will hold 25, because the selected block is 'x * 5'

您显然可以为数组的任何索引更改 3。当然,您可以像上面那样声明任何其他函数并将它们添加到您的数组中。

我已经测试过,效果很好。希望对您有所帮助。

关于ios - 公式数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18370921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com