gpt4 book ai didi

ios - 在一系列操作中处理相关的 NSMutable 数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:52:53 32 4
gpt4 key购买 nike

这可能超出了 Objective C 的能力范围。

它涉及对命名变量执行某些操作(例如 15 种不同的操作),然后对命名相似的变量执行这 15 次操作,以此类推,假设有 10 个变量。

假设我有一组 10 个 NSMutableArray;例如

NSMutableArray *a =[[NSMutableArray alloc]init];
...
NSMutableArray *j =[[NSMutableArray alloc]init];

我对它们进行了 15 次操作以获得 15 个不同的变量(也是数组或更准确地说是 NSMutableArray 的)。假设我做的第一件事是计算 a 到 j 的乘积:

for (int i=0;i<[a count]; i++)
aProduct = /* some operation upon NSMutableArray a*/...;
...
for (int i=0;i<[j count]; i++)
jProduct = /* some operation upon NSMutableArray j*/...;

假设我做的第 15 件事是计算 a 到 j 的选择:

for (int i=0;i<[a count]; i++)
aSelection = /* some operation upon NSMutableArray a*/...;
...
for (int i=0;i<[j count]; i++)
jSelection = /* some operation upon NSMutableArray j*/...;

现在我正在使用 switch/case 进行编码,这涉及到很多思考、初始化,甚至发现我在一个“case”语句中打错了字(省略了一个 break),当我复制代码,该错误向下传播。

那么有没有一种方法可以避免拥有 15 组“switch/case”代码,而是“动态地”执行它(如果 Xcode 和 iOS 中存在这样的事情)并避免创建 10 乘以 15 的变量?

或者我创建并声明了 150 个变量,但在某个数组中这样做,也许是通过使用变量的寻址(&a 到 &j)?

这变得非常复杂,非常快,有时 10 个数组中的一些有很多元素,而其他相同的数组为空(例如,a 可能有 20 个元素,而 j 有空元素)

PS:(纽约时间 2012 年 3 月 19 日下午 6:56 的后记)我实际上希望我可以使用一些变量名,然后用字母 a 到 j 作为前缀或后缀;例如:

产品A = [[....;选择器A=....;

让子例程通过枚举从 A 到 J 转换为 0 到 9。

我并不是拒绝 Peter Cetinski 之前提出的解决方案;我只是还没有尝试实现它。

最佳答案

如果你需要维护每个数组的计算值,那么尝试使用数组的数组

NSMutableArray *arrOfArrays = [[NSMutableArray alloc] init];
[arrOfArrays addObject:a];
.....
[arrOfArrays addObject:j];

for ( NSMutableArray *arr in arrOfArrays ) {
for (int i=0;i<[arr count]; i++) {
aProduct = /* some operation upon NSMutableArray arr*/...;
.....
aSelection = /* some operation upon NSMutableArray arr*/...;

//do something with your computed values
}
}

关于ios - 在一系列操作中处理相关的 NSMutable 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773278/

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