您使用了错误的方法。而不是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]];