2015/07/31

[iOS][Objective-C]NSURLのqueryStringをNSDictionaryに変換する

NSURLのqueryプロパティーで取得したqueryStringをNSDictionaryに変換するにはどうすればいいのだろうか?

URLのパラメータ部分を NSDictionary に変換する
を参考にすると以下の処理で作成することができる。

-(NSDictionary *) dictionaryFromQueryString{

    NSString *query = [self query];
    NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:0];
    NSArray *pairs = [query componentsSeparatedByString:@"&"];

    for (NSString *pair in pairs) {
        NSArray *elements = [pair componentsSeparatedByString:@"="];
        NSString *key = [[elements objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSString *val = [[elements objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        [dict setObject:val forKey:key];
    }
    return dict;
}
この処理便利だなー。

0 コメント:

コメントを投稿