#import "NSString+URLParameters.h"
@implementation NSString (URLParameters)
- (NSString *)addURLParameter:(NSString *)parameterName withValue:(NSString *)parameterValue {
// 获取 URL 的 query 部分
NSString *query = self;
NSRange queryRange = [self rangeOfString:@"?" options:NSLiteralSearch];
if (queryRange.location != NSNotFound) {
query = [self substringFromIndex:NSMaxRange(queryRange)];
}
// 检查参数是否已经存在
NSString *parameterKey = [NSString stringWithFormat:@"%@=", parameterName];
NSRange parameterRange = [query rangeOfString:parameterKey options:NSLiteralSearch];
if (parameterRange.location != NSNotFound) {
return self; // 参数已经存在,直接返回原始字符串
}
// 添加参数
NSString *separator = query.length > 0 ? @"&" : @"?";
NSString *parameterString = [NSString stringWithFormat:@"%@%@%@", separator, parameterName, parameterValue.length > 0 ? [NSString stringWithFormat:@"=%@", parameterValue] : @""];
return [self stringByAppendingString:parameterString];
}
@end
发表回复