问题
I have an NSMutableDictionary with some values in it, and I need to join the keys and values into a string, so
> name = Fred
> password = cakeismyfavoritefood
> email = myemailaddress@is.short
becomes name=Fred&password=cakeismyfavoritefood&email=myemailaddress@is.short
How can I do this? Is there a way to join NSDictionaries
into strings?
回答1:
You can easily do that enumerating dictionary keys and objects:
NSMutableString *resultString = [NSMutableString string];
for (NSString* key in [yourDictionary allKeys]){
if ([resultString length]>0)
[resultString appendString:@"&"];
[resultString appendFormat:@"%@=%@", key, [yourDict objectForKey:key]];
}
回答2:
Quite same question as Turning a NSDictionary into a string using blocks?
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];
来源:https://stackoverflow.com/questions/3873714/parse-nsdictionary-to-a-string-with-custom-separators