1

我有一个int名为pageIndicator.

我想将它包含在另一个变量中,这样可以节省一些代码行。

这就是我所拥有的:

Products *productPage0 = [productArray objectAtIndex:0];
Products *productPage1 = [productArray objectAtIndex:1];
Products *productPage2 = [productArray objectAtIndex:2];
Products *productPage3 = [productArray objectAtIndex:3];

这就是我想要的:

Products *productPage(@"%d", pageIndicator) = [productArray objectAtIndex:pageIndicator];

可能吗?

4

3 回答 3

1

预处理器宏怎么样?

#define PRODUCT_PAGE(n) products *productPage##n = [productArray objectAtIndex:n]

像这样使用它:

PRODUCT_PAGE(0);
PRODUCT_PAGE(1);

等等

(这是非常糟糕的做法,顺便说一句)。

于 2012-07-22T06:24:05.623 回答
0

与仅使用您的 4 个类似的命名变量相比,有什么优势productArray

而不是使用productPageX你可以简单地使用[productArray objectAtIndex:X].

于 2012-07-22T09:00:50.577 回答
0

您可以使用字典来存储 Products 对象并将名称设置为相应的键。

NSMutableDictionary *dic = [NSMutableDictionary dictionary];

for (int i =0; i < productArray.count; i++) {
    [dic setValue:[productArray objectAtIndex:i] forKey:[@"productPage" stringByAppendingFormat:@"%d",i] ];
}
于 2012-07-22T06:39:26.497 回答