can*_*boy 1 iphone objective-c nsdictionary ios objective-c-blocks
我确定有一种方法可以使用块来实现这一点,但我无法弄明白.我想将NSDictionary转换为url风格的参数字符串.如果我有一个看起来像这样的NSDictionary:
dict = [NSDictionary dictionaryWithObjectsAndKeys:@"blue", @"color", @"large", @"size", nil]];
Run Code Online (Sandbox Code Playgroud)
那我怎么把它变成一个看起来像这样的字符串:
"color=blue&size=large"
Run Code Online (Sandbox Code Playgroud)
编辑
感谢下面的线索.这应该这样做:
NSMutableString *parameterString;
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[parameterString appendFormat:@"%@=%@&", key, obj];
}];
parameterString = [parameterString substringToIndex:[string length] - 1];
Run Code Online (Sandbox Code Playgroud)
相同的解决方案,但没有子串:
NSMutableArray* parametersArray = [[[NSMutableArray alloc] init] autorelease];
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[parametersArray addObject:[NSString stringWithFormat:@"%@=%@", key, obj]];
}];
NSString* parameterString = [parametersArray componentsJoinedByString:@"&"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2596 次 |
| 最近记录: |