2011-07-06 16 views
4

iPhone UIImagePickerControllerReferenceURLのようにURLを返します。上記のURLの例からNSString Sなど1000000001PNGをretriveするための最良の(好ましくは、単純な)方法は何Objective-cでアセットURLを解析するにはどうすればよいですか?

assets-library://asset/asset.PNG?id=1000000001&ext=PNG 

+0

おそらく関連:http://stackoverflow.com/questions/3997976/parse-nsurl-query-property –

答えて

4

+[NSURL URLWithString:]を使用すると、NSURLに簡単に切り替えることができます。そこから-query文字列を取得し、このような何か、それを解析できます。

NSString *query = ...; 
NSArray *queryPairs = [query componentsSeparatedByString:@"&"]; 
NSMutableDictionary *pairs = [NSMutableDictionary dictionary]; 
for (NSString *queryPair in queryPairs) { 
    NSArray *bits = [queryPair componentsSeparatedByString:@"="]; 
    if ([bits count] != 2) { continue; } 

    NSString *key = [[bits objectAtIndex:0] stringByRemovingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSString *value = [[bits objectAtIndex:1] stringByRemovingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    [pairs setObject:value forKey:key]; 
} 

NSLog(@"%@", pairs); 

警告、ブラウザで入力を、ので、私のスペルの一部が間違っているかもしれません。

+0

stringByReplacingPercentEscapesUsingEncoding – ohho

+0

@ohho iOSの9のように、これは推奨されません。代わりに '' [myString stringByRemovingPercentEncoding]; '' 'を使用してください。 – Supertecnoboff

0

IOS> = 4.0の場合、NSRegularExpressionクラスでネイティブの正規表現を使用できます。あなたが見つけることができる例としては、here

関連する問題