Просто мысль ...
NSString *input = ...the list of user locations....
NSArray *locationArray = [input componentsSeparatedByString:@","];
вместо этого формата, однако:
пользователь3: 34.208456, -83.411467
для этого метода требуется следующий формат: user3, 34.208456, -83.411467,
Кроме того, избавьтесь от разрывов. По сути, вы должны сгенерировать файл CSV, а затем создать массив всех значений в массиве. Не идеально, но для получения количества пользователей, например, можно написать:
int numUsers = [locationArray count]/3.0f;
Для рендеринга всех этих позиций на карте вы просто проанализируете массив, чтобы получить данные для каждого пользователя.
Вероятно, было бы лучше и эффективнее использовать какой-нибудь XML-файл. Таким образом, вам не обязательно постоянно хранить все данные о местоположении пользователя в памяти, и анализ будет проще.
EDIT:
Так, например, если вы хотите, чтобы три строки представляли данные пользователя для данного пользователя, вы можете использовать код, подобный следующему:
NSString *username;
float lat;
float lon;
/*
index represents the user from which you are grabbing data.
I'm arbitrarily setting the index to 5, meaning you would get data
for the 5th user listed.
*/
int index = 5;
username = [locationArray objectAtIndex:3*index];
lat = [[locationArray objectAtIndex:3*index+1] floatValue];
lon = [[locationArray objectAtIndex:3*index+2] floatValue];