将NSDictionary解析为具有自定义分隔符的字符串

Emi*_*mil 7 iphone join nsdictionary nsstring separator

我有一个带有一些值的NSMutableDictionary,我需要将键和值连接成一个字符串,所以

> name = Fred
> password = cakeismyfavoritefood
> email = myemailaddress@is.short
Run Code Online (Sandbox Code Playgroud)

变 name=Fred&password=cakeismyfavoritefood&email=myemailaddress@is.short

我怎样才能做到这一点?有没有办法加入NSDictionaries字符串?

Vla*_*mir 14

您可以轻松地枚举字典键和对象:

NSMutableString *resultString = [NSMutableString string];
for (NSString* key in [yourDictionary allKeys]){
    if ([resultString length]>0)
       [resultString appendString:@"&"];
    [resultString appendFormat:@"%@=%@", key, [yourDict objectForKey:key]];
}
Run Code Online (Sandbox Code Playgroud)


Ben*_*oît 6

与使用块将NSDictionary转换为字符串相同的问题?

NSMutableArray* parametersArray = [[NSMutableArray alloc] init];
[yourDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    [parametersArray addObject:[NSString stringWithFormat:@"%@=%@", key, obj]];
}];
NSString* parameterString = [parametersArray componentsJoinedByString:@"&"];
[parametersArray release];
Run Code Online (Sandbox Code Playgroud)