iOS - 获取URL中的参数

我们在开发的时候经常会跳转WebView来加载一些活动页面,有时候需要监听url来进行原生的跳转操作,除了JS交互我们还可以在url后面拼接原生需要的参数来进行逻辑的跳转。OC和JS交互后续再说,这篇文章主要说的是 怎么获取URL中的参数来进行后续的开发。最笨的方法就是字符串的截取,进行大量的判断然后取出来有用的参数。
现在一行代码就可以取出来url中包含的参数,方法如下:

//name: url中的参数名称
- (NSString *)getParamByName:(NSString *)name URLString:(NSString *)url {

    NSError *error;
    NSString *regTags=[[NSString alloc] initWithFormat:@"(^|&|\\?)+%@=+([^&]*)(&|$)", name];
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:&error];
     
    // 执行匹配的过程
    NSArray *matches = [regex matchesInString:url
                                      options:0
                                        range:NSMakeRange(0, [url length])];
    for (NSTextCheckingResult *match in matches) {
        NSString *tagValue = [url substringWithRange:[match rangeAtIndex:2]];  // 分组2所对应的串
        return tagValue;
    }
    return @"";
}

调用方法如下:

NSString *goodId = [self getParamByName:@"id" URLString:url];
goodId 取出来就是123456.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容