美文网首页
iOS - 获取URL中的参数

iOS - 获取URL中的参数

作者: 等不来的期待 | 来源:发表于2021-01-27 15:52 被阅读0次

    我们在开发的时候经常会跳转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.
    
    

    相关文章

      网友评论

          本文标题:iOS - 获取URL中的参数

          本文链接:https://www.haomeiwen.com/subject/zerazktx.html