Dividir NSString várias vezes no mesmo separador

No momento, estou recebendo uma string como esta:

@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54" 

E estou dividindo assim:

 testArray = [[NSArray alloc] init]; NSString *testString = [[NSString alloc] initWithFormat:@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54,Steve|56,Matty|24,Bill|30,Rob|30,Jason|33,Mark|22,Stuart|54,Kevin|30"]; testArray = [testString componentsSeparatedByString:@","]; dict = [NSMutableDictionary dictionary]; for (NSString *s in testArray) { testArray2 = [s componentsSeparatedByString:@"|"]; [dict setObject:[testArray2 objectAtIndex:1] forKey:[testArray2 objectAtIndex:0]]; } 

Eu agora estarei recebendo uma string como esta:

 @"Sam|26|Developer,Hannah|22|Team Leader,Adam|30|Director,Carlie|32|PA,Jan|54|Cleaner" 

Posso (e como) usar o mesmo método acima para separar a string mais de uma vez usando o “|” separador?

A seguinte linha …

 testArray2 = [s componentsSeparatedByString:@"|"]; 

fará com que o array agora contenha 3 itens, em vez de 2 ….. não é necessário dividir novamente!

faça assim.

 NSString *testString = [[NSString alloc] initWithFormat:@"Sam|26,Hannah|22,Adam|30,Carlie|32,Jan|54,Steve|56,Matty|24,Bill|30,Rob|30,Jason|33,Mark|22,Stuart|54,Kevin|30"]; NSArray *testArray = [testString componentsSeparatedByString:@","]; NSLog(@"%@",testArray); for(int i=0;i<[testArray count];i++){ NSString *str=[testArray objectAtIndex:i]; NSArray *aa=[str componentsSeparatedByString:@"|"]; NSLog(@"%@",aa); } 

Não há necessidade de manter o array.