//
// NSURL+url.m
// bestsellerApp
//
// Created by zhuchangming on 2018/9/5.
// Copyright © 2018年 zhuchangming. All rights reserved.
//
#import "NSURL+url.h"
#import <objc/runtime.h>
@implementation NSURL (url)
+(void)load
{
Method newMethod = class_getClassMethod([self class], @selector(URLWithUTF8String:));
Method method = class_getClassMethod([self class], @selector(URLWithString:));
method_exchangeImplementations(newMethod, method);
}
+(instancetype) URLWithUTF8String:(NSString *)URLString{
//请求地址中文转码
NSString *encodedString;
if (@available(iOS 9.0, *)){
NSString *charactersToEscape = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| ";
NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invertedSet];
encodedString = [URLString stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
}
else{
encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)URLString,
(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
NULL,
kCFStringEncodingUTF8));
}
return [NSURL URLWithUTF8String:encodedString];
}
@end