0

次のコードでエラーメッセージが表示されます: 'NSStringEncoding' (別名 'unsigned long') から 'NSCharacterSet * _Nonnull' への暗黙の変換は ARC では許可されていません

どこが間違っているのですか?

NSURL *candidatesURL = [NSURL URLWithString:[str_url
                                             stringByAddingPercentEncodingWithAllowedCharacters:NSUTF8StringEncoding]];
4

1 に答える 1

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]];
于 2017-11-03T04:44:14.990 に答える