开发获取NSURL
字符串的参数
因为今天要获取返回的CallBack
返回URL字符串后拼接的字符串 发现NSURL
这个类里面没有什么API
可以获取。我相信这个经常用到的东西苹果没有提供对应的接口或者方法,让开发者自己解析,这不像苹果的风格。我就顺着NSURL
所在的文件向下面找去。

图片的两个参数引起我的注意,我就全局搜索NSURLQueryItem
那地方有。

我直接用我的NSURL
的变量获取queryItems
的发现没有这个属性,仔细一看原来是归属于NSURLComponents
这个类。
我们就初始化一个这个类写一下代码看看。
NSURL *url = [NSURL URLWithString:@"http://www.xxxx.com?token=231123&PayerID=321321"];
NSURLComponents *components = [[NSURLComponents alloc] initWithString:url.absoluteString];
[components.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"%@=%@",obj.name,obj.value);
}];
下面是打印的结果

看来我的需求已经达到了
这个方法只能适用于只支持iOS8以上的工程