2017-08-13 5 views
11

Swift 3コードをSwift 4に変換する際に問題があります。アプリ内の他のすべての変換に成功しましたが、1行に問題がありますSwift 4: '部分文字列(to :)'は非推奨です

cleanURL = cleanURL.substring(to: cleanURL.index(before: cleanURL.endIndex)) 

私は取得していますエラーはこれです:

まあ
ViewController.swift:62:33: 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator. 
+0

新しい変数を定義するのではなく、変数を変更することは理にかなっていますか?最後のシンボルを削除した後にURLが「クリーン」である場合、その前に「クリーンURL」と呼ばれるのはなぜですか? – Alexander

+1

[このスレッド](https://stackoverflow.com/q/45562662/6541007)を確認してください。重複しているようだ。 – OOPer

答えて

20

、エラーが言う何をすべきか、「一部の範囲件まで」演算子を文字列スライスの添字を使用します。

コードの
let actuallyCleanURL = kindaCleanURL[..<kindaCleanURL.endIndex] 

これはSubstringを返します。スライシング操作をさらに行う必要がある場合は、この部分文字列で操作します。完了したら、String初期化ツール(String(mySubString))を実行してメモリをコピーし、Stringにアップロードしてください。

+1

これはStringではなくString.SubSequenceを返します。あなたは文字列(...)を使ってそれをOPのように動作させるために変換する必要があります。 – timgcarlson

+0

@timgcarlson良い点 – Alexander

関連する問題