网络请求
NSString *s = @"http://img0.imgtn.bdimg.com/it/u=1017599828,536272132&fm=11&gp=0.jpg"
//iOS9.0以下
NSURL *url = [NSURL URLWithString:[s stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//iOS9.0及以上
NSURL *url = [NSURL URLWithString:[s stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
NSString转NSURL需要对特殊符号和中文进行处理,不然会出错返回nil(9.0之后不会有这样的问题,但是还是需要根据URL不同场景添加NSCharacterSet)
本地文件
NSString *p = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSURL *url = [NSURL fileURLWithPath:path];
本地文件的NSString转NSURL一般使用fileURLWithPath(其实就是在路径前加上file://,最后补上/)。
网友评论