如何使用数组的计数创建多个 NSDictionary 变量?

这基本上是我想出的,但我不确定如何使用 Objective-C 语法来实现它。 doesntContainAnother 是一个 NSArray 。我希望字典的名称使用 loopInt 的当前值。

int *loopInt = 0;
while (doesntContainAnother.count <= loopInt) {

    NSMutableDictionary *[NSString stringWithFormat:@"loopDictionary%i", loopInt] = [[[NSMutableDictionary alloc] init] autorelease];
    [NSString stringWithFormat:@"loopDictionary%i", loopInt] = [NSDictionary dictionaryWithObject:[array1 objectAtIndex:loopInt]
                                                 forKey:[array2 objectAtIndex:loopInt]];
    loopInt = loopInt + 1;
}

最佳答案

创建一个可变数组并循环直到达到原始数组的计数,创建一个字典并在每次迭代时将其添加到可变数组中。

您的代码应如下所示。

NSMutableArray *dictionaries = [[NSMutableArray alloc] init];
for (int i = 0; i < doesntContainAnother.count; i++) {
    [dictionaries addObject:[NSMutableDictionary dictionaryWithObject:[array1 objectAtIndex:i] forKey:[array2 objectAtIndex:i]]];
}

创建名称末尾带有数字的变量的方法是一种反模式,甚至在 Objective-C 中是不可能的。它相当于一个数组,但更笨重。

关于objective-c - 基于 int 创建多个编号变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2231783/

10-11 22:09