Adding documentation for array formatting behavior for AFQueryStringFromParametersWithEncoding
Minor refactoring
This commit is contained in:
parent
7d656c2cbe
commit
71bb48fd16
2 changed files with 11 additions and 8 deletions
|
|
@ -53,7 +53,10 @@ extern NSString * AFURLEncodedStringFromStringWithEncoding(NSString *string, NSS
|
||||||
@param parameters The parameters used to construct the query string
|
@param parameters The parameters used to construct the query string
|
||||||
@param encoding The encoding to use in constructing the query string. If you are uncertain of the correct encoding, you should use UTF-8 (NSUTF8StringEncoding), which is the encoding designated by RFC 3986 as the correct encoding for use in URLs.
|
@param encoding The encoding to use in constructing the query string. If you are uncertain of the correct encoding, you should use UTF-8 (NSUTF8StringEncoding), which is the encoding designated by RFC 3986 as the correct encoding for use in URLs.
|
||||||
|
|
||||||
@discussion Query strings are constructed by collecting each key-value pair, URL-encoding the string value of the key and value (by sending `-description` to each), constructing a string in the form "key=value", and then joining the components with "&". The constructed query string does not include the ? character used to delimit the query component.
|
@discussion Query strings are constructed by collecting each key-value pair, URL-encoding a string representation of the key-value pair, and then joining the components with "&".
|
||||||
|
|
||||||
|
|
||||||
|
If a key-value pair has a an `NSArray` for its value, each member of the array will be represented in the format `key[]=value1&key[]value2`. Otherwise, the key-value pair will be formatted as "key=value". String representations of both keys and values are derived using the `-description` method. The constructed query string does not include the ? character used to delimit the query component.
|
||||||
|
|
||||||
@return A URL-encoded query string
|
@return A URL-encoded query string
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -89,19 +89,19 @@ NSString * AFURLEncodedStringFromStringWithEncoding(NSString *string, NSStringEn
|
||||||
NSString * AFQueryStringFromParametersWithEncoding(NSDictionary *parameters, NSStringEncoding encoding) {
|
NSString * AFQueryStringFromParametersWithEncoding(NSDictionary *parameters, NSStringEncoding encoding) {
|
||||||
NSMutableArray *mutableParameterComponents = [NSMutableArray array];
|
NSMutableArray *mutableParameterComponents = [NSMutableArray array];
|
||||||
for (id key in [parameters allKeys]) {
|
for (id key in [parameters allKeys]) {
|
||||||
id arg = [parameters valueForKey:key];
|
id value = [parameters valueForKey:key];
|
||||||
if ([arg isKindOfClass:[NSArray class]]) {
|
if ([value isKindOfClass:[NSArray class]]) {
|
||||||
// For arrays, we add each item to the query string
|
NSString *arrayKey = AFURLEncodedStringFromStringWithEncoding([NSString stringWithFormat:@"%@[]", [key description]], encoding);
|
||||||
NSString *keyComponent = AFURLEncodedStringFromStringWithEncoding([NSString stringWithFormat:@"%@[]", [key description]], encoding);
|
for (id arrayValue in value) {
|
||||||
for (id obj in (NSArray *)arg) {
|
NSString *component = [NSString stringWithFormat:@"%@=%@", arrayKey, AFURLEncodedStringFromStringWithEncoding([arrayValue description], encoding)];
|
||||||
NSString *component = [NSString stringWithFormat:@"%@=%@", keyComponent, AFURLEncodedStringFromStringWithEncoding([obj description], encoding)];
|
|
||||||
[mutableParameterComponents addObject:component];
|
[mutableParameterComponents addObject:component];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
NSString *component = [NSString stringWithFormat:@"%@=%@", AFURLEncodedStringFromStringWithEncoding([key description], encoding), AFURLEncodedStringFromStringWithEncoding([arg description], encoding)];
|
NSString *component = [NSString stringWithFormat:@"%@=%@", AFURLEncodedStringFromStringWithEncoding([key description], encoding), AFURLEncodedStringFromStringWithEncoding([value description], encoding)];
|
||||||
[mutableParameterComponents addObject:component];
|
[mutableParameterComponents addObject:component];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [mutableParameterComponents componentsJoinedByString:@"&"];
|
return [mutableParameterComponents componentsJoinedByString:@"&"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue