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
我有一个 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