URL拼接参数方法

[iOS] --------url拼接参数方法

url拼接参数,判断后面是否有 “?”的情况

NSString+Extention.h

 #import <Foundation/Foundation.h>
 
@interface NSString (Extention)
-(NSString *)urlAddCompnentForValue:(NSString *)value key:  (NSString *)key;
@end

NSString+Extention.m

#import "NSString+Extention.h"
 
@implementation NSString (Extention)
-(NSString *)urlAddCompnentForValue:(NSString *)value key:(NSString *)key{
    
    NSMutableString *string = [[NSMutableString alloc]initWithString:self];
    @try {
        NSRange range = [string rangeOfString:@"?"];
        if (range.location != NSNotFound) {//找到了
            //如果?是最后一个直接拼接参数
            if (string.length == (range.location + range.length)) {
                NSLog(@"最后一个是?");
                string = (NSMutableString *)[string stringByAppendingString:[NSString stringWithFormat:@"%@=%@",key,value]];
            }else{//如果不是最后一个需要加&
                if([string hasSuffix:@"&"]){//如果最后一个是&,直接拼接
                    string = (NSMutableString *)[string stringByAppendingString:[NSString stringWithFormat:@"%@=%@",key,value]];
                }else{//如果最后不是&,需要加&后拼接
                    string = (NSMutableString *)[string stringByAppendingString:[NSString stringWithFormat:@"&%@=%@",key,value]];
                }
            }
        }else{//没找到
            if([string hasSuffix:@"&"]){//如果最后一个是&,去掉&后拼接
                string = (NSMutableString *)[string substringToIndex:string.length-1];
            }
            string = (NSMutableString *)[string stringByAppendingString:[NSString stringWithFormat:@"?%@=%@",key,value]];
        }
    } @catch (NSException *exception) {
        
    } @finally {
        
    }
    
    
    return string.copy;
}
@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 王东岳全错 之前在几期节目中引用过王东岳先生的一些观点,机缘巧合之下被拉到了一个《物演通论》同好群中。 昨天早上,...
    Merkaba_e933阅读 5,570评论 0 2
  • //系统左滑手势禁用 (void)viewWillDisappear:(BOOL)animated {[super...
    mayday2024阅读 3,964评论 0 3
  • 1.高平时我们人与人交流,大都是眼平角度,如果拍照也平视,就会缺乏新奇感 找一些高点,对人物进行俯拍。俯拍能显脸小...
    表情会阅读 1,378评论 0 0
  • 昨日美股全面回调,计划中期权建仓计划也没有一个好的时机, 基于目前大盘基本面没有发生变化, 因此判断是指数两天大涨...
    吃瓜子的群众阅读 923评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,011评论 0 5