iOS URL正确添加参数

  • 内容
  • 评论
  • 相关
#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

评论

0条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注