use*_*273 0 objective-c nsurl ios
多年来,将查询字符串添加到 NSURL 的最佳方法似乎已经发生了变化。这是一个从2009年在这里,他们是从2014。对于这样一个看似简单的任务,所有的方法似乎都相当繁重。
以下代码对我不起作用:
#define kWeatherStemURL [NSURL URLWithString: @"https://api.openweathermap.org/data/2.5/weather?units=imperial&APPID=xxxxxxx"];
NSURL* startingUrl = kWeatherStemURL;
NSString *querystring = @"&lat=35&lon=139";
NSURL *dataUrl = [NSURL URLWithString:[startingUrl.path stringByAppendingString:querystring]];
Run Code Online (Sandbox Code Playgroud)
今天最好的方法是什么?
一种现代方式是NSURLComponentsand NSURLQueryItem,如果需要,它甚至可以应用百分比编码。
NSURLComponents *components = [NSURLComponents componentsWithString: @"https://api.openweathermap.org/data/2.5/weather"];
NSArray<NSURLQueryItem *> *queryItems = @[[NSURLQueryItem queryItemWithName:@"units" value:@"imperial"],
[NSURLQueryItem queryItemWithName:@"APPID" value:@"xxxxxxx"],
[NSURLQueryItem queryItemWithName:@"lat" value:@"35"],
[NSURLQueryItem queryItemWithName:@"lon" value:@"139"]];
components.queryItems = queryItems;
NSURL *dataUrl = components.URL;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |