をエスケープします不一致の種類「文字列」と「文字」」私が追加した場合、同じは、どのように私はちょうどURLENCODEこのしかし、どのように私はこれを達成するだろう可能性を知っているスウィフト文字列中の%記号
『%% 20』
をエスケープします不一致の種類「文字列」と「文字」」私が追加した場合、同じは、どのように私はちょうどURLENCODEこのしかし、どのように私はこれを達成するだろう可能性を知っているスウィフト文字列中の%記号
『%% 20』
あなただけの練習のためにこれをやっている場合、それはOKです。プロダクションコードの場合、URL文字列をエスケープする最も良い方法はURLComponents
構造体です。
あなたの問題の解決方法は、閉鎖の返品タイプです。はString
、$0
はCharacter
です。 Swiftはそのタイプを推論する方法を知らない。
これに変更し、それは:
let strReturn = strToConvert.characters.map {
$0 == " " ? "%20" : String($0)
}.joined(separator: "")
ああ、ありがとう、私は自分自身を得た、結合部分に取得していない。ちょうど明確にするために、結合されます(separator: "")は常に文字列を生成しますか? – PruitIgoe
はい、ここには[ドキュメント](https://developer.apple.com/documentation/swift/array/1688227-joined)があります。 –
空白の文字列を区切り文字として渡すことは冗長です。 '.joined()'を使うだけです。 –
あなたはこの方向にあまりにも深く行く前に、それはあなたが達成したいことは何ですか?文字列をエスケープして有効なURLにしますか? –
ええ、その何よりも自分自身のための運動。 – PruitIgoe