static void TNLAppendArrayOfParameterValues()

in Source/TNLURLCoding.m [98:122]


static void TNLAppendArrayOfParameterValues(NSMutableString *parameterString,
                                            NSString *encodedKey,
                                            NSArray *values,
                                            TNLURLEncodingOptions options,
                                            BOOL *inoutIsFirstEntry)
{
    NSMutableArray *encodedValues = [NSMutableArray arrayWithCapacity:[values count]];
    for (id subvalue in values) {
        NSString *stringValue = TNLStringValue(subvalue, options, encodedKey);
        if (stringValue) {
            stringValue = TNLURLEncodeString(stringValue);
            if (stringValue) {
                [encodedValues addObject:stringValue];
            }
        }
    }

    if (TNL_BITMASK_HAS_SUBSET_FLAGS(options, TNLURLEncodingOptionStableOrder)) {
        [encodedValues sortUsingSelector:@selector(compare:)];
    }

    for (NSString *encodedValue in encodedValues) {
        TNLAppendEncodedKeyValuePair(parameterString, encodedKey, encodedValue, options, inoutIsFirstEntry);
    }
}