2015-08-18 2 views
-1

У меня есть NSString заполнены с объектами, разделенными запятойNSString для NSArray и редактирования каждый объект

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

Мне нужно отделить эти цифры и хранить затем в массив при редактировании их, результат должен быть

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

Как добавить эти объекты в свои объекты в строке?

Спасибо.

PS: EDIT

Я уже сделал это:

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

Я не уверен, что вы пытаетесь сделать с этим, но вы можете показать нам, что вы пытались получить, что желаемый результат? –

+0

см. Редактировать пожалуйста @FahimParkar – user3783005

+0

ok ... Почему вы хотите получить результат? скажите мне, что вы точно пытаетесь сделать ... вы можете сделать это в простое для цикла также ... –

ответ

1

Вместо встроенного в map функции (Yey для 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

Первое, что вам нужно сделать, это отдельная строка в массив составных частей - 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]; 
} 
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

Смежные вопросы