ios 獲取鏈接中各個(gè)參數(shù)值


獲取鏈接中各個(gè)參數(shù)值
//獲取鏈接中各個(gè)參數(shù)值
- (NSDictionary *)getParamsWithUrlString:(NSString *)urlString
{
    if (urlString.length == 0) {
        NSLog(@"鏈接為空!");
        return @{};
    }
    //先截取問(wèn)號(hào)
    NSArray * allElements = [urlString componentsSeparatedByString:@"?"];
    NSMutableDictionary * params = [NSMutableDictionary dictionary];
    if (allElements.count == 2) {
        //有參數(shù)或者?后面為空
        NSString * paramString = allElements[1];
        //獲取參數(shù)對(duì)
        NSArray * paramsArray = [paramString componentsSeparatedByString:@"&"];
        if (paramsArray.count >= 2) {
            for (NSInteger i = 0; i<paramsArray.count; i++) {
                NSString * singleParamString = paramsArray[i];
                NSArray * singleParamSet = [singleParamString componentsSeparatedByString:@"="];
                if (singleParamSet.count == 2) {
                    NSString * key = singleParamSet[0];
                    NSString * value = singleParamSet[1];
                    if (key.length > 0 || value.length > 0) {
                        [params setObject:value.length > 0 ? value:@"" forKey:key.length > 0 ? key:@""];
                    }
                }
            }
        }else if (paramsArray.count == 1){ //無(wú)& url只有?后一個(gè)參數(shù)
            NSString * singleParamString = paramsArray[0];
            NSArray * singleParamSet = [singleParamString componentsSeparatedByString:@"="];
            if (singleParamSet.count == 2) {
                NSString * key = singleParamSet[0];
                NSString * value = singleParamSet[1];
                if (key.length > 0 || value.length > 0) {
                    [params setObject:value.length > 0 ? value:@"" forKey:key.length > 0 ? key:@""];
                }
            }else{
                //問(wèn)號(hào)后面什么都沒(méi)有 xxxx? 無(wú)需處理
            }
        }
        //整合url及參數(shù)
        return [params copy];
    }else if (allElements.count > 2){
        NSLog(@"鏈接不合法!鏈接包含多個(gè)?");
        return @{};
    }else{
        NSLog(@"鏈接不包含參數(shù)!");
        return @{};
    }
}

使用:
NSString * url = @"https://www.aaa.com/?key1=value1&key2=value2";
NSDictionary * dic = [self getParamsWithUrlString:url];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容