将url params拆分并转换为字符串值的最佳方法

将url params拆分并转换为字符串值的最佳方法

问题描述:

我想将iPhone中打开app的自定义网址拆分为值,我的方案如下:

I would like to split a custom url for app opening in iPhone into values, my scheme would be something like:

appname://user=jonsmith&message=blah%20blah

我希望能够在哪里将user和message作为两个NSStrings。关于最佳方法的任何建议?

Where I would like to be able to get "user" and "message" as two NSStrings. Any advice on best approach?

假设你的网址是 NSURL 对象名为 url

Assuming your url is in an NSURL object called url:

NSMutableDictionary *queryParams = [[NSMutableDictionary alloc] init];
NSArray *components = [[url query] componentsSeparatedByString:@"&"];

for (NSString *component in components) {
    NSArray *pair = [component componentsSeparatedByString:@"="];

    [queryParams setObject:[[pair objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding: NSMacOSRomanStringEncoding]
                    forKey:[pair objectAtIndex:0]]; 
}

...

[queryParams release];