iphone - 使用 block 将NSDictionary转换为字符串?

标签 iphone objective-c ios nsdictionary objective-c-blocks

我敢肯定有一种使用块的方法,但是我无法弄清楚。我想将NSDictionary转换为url样式的参数字符串。
如果我有一个NSDictionary看起来像这样:

dict = [NSDictionary dictionaryWithObjectsAndKeys:@"blue", @"color", @"large", @"size", nil]];

然后,如何将其转换为如下所示的字符串:
"color=blue&size=large"

编辑

感谢您提供以下线索。应该这样做:
NSMutableString *parameterString;
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    [parameterString appendFormat:@"%@=%@&", key, obj];
}];
parameterString = [parameterString substringToIndex:[string length] - 1];

最佳答案

完全相同的解决方案,但没有子字符串:

NSMutableArray* parametersArray = [[[NSMutableArray alloc] init] autorelease];
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    [parametersArray addObject:[NSString stringWithFormat:@"%@=%@", key, obj]];
}];
NSString* parameterString = [parametersArray componentsJoinedByString:@"&"];

关于iphone - 使用 block 将NSDictionary转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889337/

相关文章:

iphone - Objective-C 中的文本作为超链接

ios - dispatch syn 如何导致死锁? ios

objective-c - SMJobRemove 成功,但未删除 plist 和 helper 工具

ios - 使用临时配置编译应用失败,但调试配置在Xcode 5.1中有效

iphone - 使用本地时区将 unix 时间戳转换为 NSdate

iphone - 使用 NSDictionary 的崩溃错误 - Iphone SDK

ios - 在 NSMutableArray 的第 0 个索引处添加数据

objective-c - 核心情节: Updating position of y axis

ios - 如何设置在 iPhone 上以编程方式选择的第一个 TabBar

iphone - 裁剪 UIImage 以适合框架图像