ARC 不允许将 'NSStringEncoding'(又名 'unsigned long')隐式转换为 'NSCharacterSet * _Nonnull'
Implicit conversion of 'NSStringEncoding' (aka 'unsigned long') to 'NSCharacterSet * _Nonnull' is disallowed with ARC
在以下代码中我收到错误消息:使用 ARC
不允许将 'NSStringEncoding'(又名 'unsigned long')隐式转换为 'NSCharacterSet * _Nonnull'
我哪里做错了?
NSURL *candidatesURL = [NSURL URLWithString:[str_url
stringByAddingPercentEncodingWithAllowedCharacters:NSUTF8StringEncoding]];
你用错了方法。而不是使用 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]];
在以下代码中我收到错误消息:使用 ARC
不允许将 'NSStringEncoding'(又名 'unsigned long')隐式转换为 'NSCharacterSet * _Nonnull'我哪里做错了?
NSURL *candidatesURL = [NSURL URLWithString:[str_url
stringByAddingPercentEncodingWithAllowedCharacters:NSUTF8StringEncoding]];
你用错了方法。而不是使用 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]];