В NSURL есть методы, которые вам нужно будет инициировать из строки, которые могут помочь. Например, - (NSString *) query
, который даст вам 'name = XYZ & age = 26'. Затем вы можете использовать componentsSeparatedByString(@"&")
, чтобы собрать каждый аргумент и выполнить итерацию по результирующему массиву, пока не получите нужный ключ / значение. Может быть что-то вроде:
NSURL *url = [NSURL URLFromString:incomingString];
NSString *queryString = [url query];
NSArray *queryArray = [queryString componentsSeparatedByString(@"&")];
for (NSString *query in queryArray)
{
NSArray *arg = [query componentsSeparatedByString(@"=");
if ([arg count] != 2) continue;
if ([arg objectAtIndex:0] caseInsensitiveCompare:@"SOME_KEY"] == NSOrderedSame)
{
// do something, probably with [arg objectAtIndex:1]
}
}
Однако вы должны знать о кодировании с входящей строкой. Например, процент сбегает.