我有一个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
答案 0 :(得分:1)
代替内置的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]];
}];
答案 1 :(得分:1)
您需要做的第一件事是将字符串分成一个组件部分数组 - 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];
}
答案 2 :(得分:1)
这个怎么样?
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