Xcode
iOS
Swift
swift4
swift3

Swift4でsubstringの処理で警告が出た際の修正方法

初投稿かつTipsレベルでもないかもしれませんが・・・

Xcodeをアプデしてエラーを取っていたら文字列操作に関して

スクリーンショット 2017-09-26 16.57.14.png

'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.

というエラーを吐いていました。

今回のSwift4ではsubstring(...)が非推奨になった関係で警告が出ていたのでrangeを使って書き直しました。

具体的には

例えば "ABCD//EFGH" というStringの"//"以下を取り出して"EFGH"を取り出すために

Swift3では

let data = "ABCD//EFGH"
let result = data.range(of: "//")

if let theRange = result{
    print(data.substring(from: theRange.upperBound))
}

このようにしていましたが

let data = "ABCD//EFGH"
let result = data.range(of: "//")

if let theRange = result{
    print(data[theRange.upperBound..<data.endIndex])
}

追記:もう少し簡潔な書き方もコメ欄で教えていただきました

と書き直すことで解決できました。