NSString 到 NSArray 并编辑每个对象

NSString to NSArray and editing every object

我有一个 NSString 充满了用逗号分隔的对象

NSString *string = @"1,2,3,4";

我需要将这些数字分开,然后在编辑它们时存储到一个数组中,结果应该是

element 0 = 0:1,
element 1 = 1:2,
element 2 = 2:3,
element 3 = 3:4.

如何将它们添加到字符串中的对象中??

谢谢。

P.S:编辑

我已经这样做了:

NSString *string = @"1,2,3,4";
NSArray *array = [string componentsSeparatedByString:@","];

[array objectAtIndex:0];//1
[array objectAtIndex:1];//2
[array objectAtIndex:2];//3
[array objectAtIndex:3];//4

我需要的结果是:

[array objectAtIndex:0];//0:1
[array objectAtIndex:1];//1:2
[array objectAtIndex:2];//2:3
[array objectAtIndex:3];//3:4

代替内置的 map 函数(是的 Swift),您必须遍历 array 并构造一个包含所需字符串的新数组:

NSString *string = @"1,2,3,4";
NSArray *array = [string componentsSeparatedByString:@","];

NSMutableArray *newArray = [NSMutableArray arrayWithCapacity:array.count];

[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    [newArray addObject:[NSString stringWithFormat:@"%lu:%@", (unsigned long)idx, obj]];
}];

您需要做的第一件事是将字符串分成组件部分的数组 - NSString 有一个方便的方法:'-componentsSeparatedByString'。代码应该是这样的:

NSArray *components = [string componentsSeparatedByString:@","];

因此,数组中有 4 个 NSString 对象。然后您可以遍历它们以在数组中创建复合对象,尽管您并不十分清楚如何或为什么需要这些对象。也许是这样的:

NSMutableArray *resultItems = [NSMutableArray array];
for (NSString *item in components)
{
    NSString *newItem = [NSString stringWithFormat:@"%@: ... create your new item", item];
    [resultItems addObject:newItem];
}

这个怎么样?

NSString *string = @"1,2,3,4";
NSArray *myOldarray = [string componentsSeparatedByString:@","];
NSMutableArray *myNewArray = [[NSMutableArray alloc] init];

for (int i=0;i<myOldarray.count;i++) {
    [myNewArray addObject:[NSString stringWithFormat:@"%@:%d", [myOldarray objectAtIndex:i], ([[myOldarray objectAtIndex:i] intValue]+1)]];
}

// now you have myNewArray what you want.

这是考虑到你想要的数组 number:number+1