关注以下代码我收到错误消息:' NSStringEncoding'的隐式转换(又名' unsigned long')到' NSCharacterSet * _Nonnull'不允许使用ARC
我在哪里做错了?
NSURL *candidatesURL = [NSURL URLWithString:[str_url
stringByAddingPercentEncodingWithAllowedCharacters:NSUTF8StringEncoding]];
答案 0 :(得分:0)
您使用的是错误的方法。而不是使用stringByAddingPercentEncodingWithAllowedCharacters
使用此stringByAddingPercentEscapesUsingEncoding
如果您不想使用此方法stringByAddingPercentEncodingWithAllowedCharacters
,则必须传递一组允许的字符。
试试这个。
NSURL *candidatesURL = [NSURL URLWithString:[str_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
或者,如果您的应用开发目标是IOS 9.0及更高版本。
不推荐使用 stringByAddingPercentEscapesUsingEncoding
,因此您可以使用stringByAddingPercentEncodingWithAllowedCharacters
并使用URLHostAllowedCharacterSet
。
NSURL *candidatesURL = [NSURL URLWithString:[str_url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];