0

我有一个 NSMutableArray 与 NSMutableArrays 作为元素

[dataBase insertObject:[NSMutableArray arrayWithObjects:@(100), @"3379429411", @"Cont10", @(0), @(0), @(0), @(0),@"Name1",@"Name2",@"Name3",@"Name4",@"192.168.0.1",@(0),@(0),@(0),@(0), nil] atIndex: 0];

我经常需要找到第二个成员等于另一个整数的元素并更改此数组的不同值。

我使用标准操作for(int n = 0; n < [dataBase count]; n++),然后创建临时数组,然后[dataBase replaceObjectAtIndex:n withObject:tempArray];

有没有更好的办法?

4

1 回答 1

0

如果我明白你在说什么,试试这个:

与其使用数组数组,不如使用数组字典并使用数组的第二个成员元素作为字典键。所以是这样的:

NSMutableDictionary *dataBase = [[NSMutableDictionary alloc] init];
NSMutableArray *firstRow = [NSMutableArray arrayWithObjects:@(100), @"3379429411", @"Cont10", @(0), @(0), @(0), @(0),@"Name1",@"Name2",@"Name3",@"Name4",@"192.168.0.1",@(0),@(0),@(0),@(0), nil] atIndex: 0];
dataBase[firstRow[1]] = firstRow;

这样,当您需要替换一行时,您所要做的就是:

NSMutableArray *newRow = [self getNewRow];
dataBase[newRow[1]] = newRow;
于 2013-07-26T23:00:12.060 回答