LoginSignup
7
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-09-26

初投稿かつ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])
}

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

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

7
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3