Skip to content

Instantly share code, notes, and snippets.

@ULazdins
Last active January 19, 2021 19:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ULazdins/bdbe34de557a0094c28e5e89254b09f9 to your computer and use it in GitHub Desktop.
Save ULazdins/bdbe34de557a0094c28e5e89254b09f9 to your computer and use it in GitHub Desktop.
- (NSString *)prepareUrl {
NSInteger parameterCounter = 0;
NSString *pageUri = @"https://example.com?";
if (query != nil) {
query = [NSString stringWithFormat:@"query=%@", query];
query = [self addAmpersandIfNeededForParameter:query currentParameterCounter:parameterCounter];
pageUri = [pageUri stringByAppendingString:query];
parameterCounter++;
}
if (orderBy != nil) {
orderBy = [NSString stringWithFormat:@"orderBy=%@", orderBy];
orderBy = [self addAmpersandIfNeededForParameter:orderBy currentParameterCounter:parameterCounter];
pageUri = [pageUri stringByAppendingString:orderBy];
parameterCounter++;
}
if (sortOrder != nil) {
sortOrder = [NSString stringWithFormat:@"sortOrder=%@", sortOrder];
sortOrder = [self addAmpersandIfNeededForParameter:sortOrder currentParameterCounter:parameterCounter];
pageUri = [pageUri stringByAppendingString:sortOrder];
parameterCounter++;
}
// .. and so on
return pageUri;
}
- (NSString*) addAmpersandIfNeededForParameter:(NSString *)parameter currentParameterCounter:(NSInteger)currentParameterCounter {
if (currentParameterCounter > 0) {
NSString *ampersand = @"&";
parameter = [ampersand stringByAppendingString:parameter];
}
return parameter;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment