【Swift4】「’characters’ is deprecated」というワーニングに出くわしたら・・・

Swift4へマイグレーションを行っていると、やっぱりちょくちょくワーニングが出ますよね。今回は「’characters’ is deprecated: Please use String or Substring directly」というワーニングが出た際の、対処方法をご紹介したいと思います


 

文字数カウント

Swiftで文字数をカウントする時に以下の様なコードを書いていました。これがdeprecatedになったようで、文字数のカウントを行う時は・・・

if link.characters.count > 0 {
    // 文字列からCharacterViewを取り出してカウントを取ってましたが・・・
}
if link.count > 0 {
    // 直接カウントを取れるようです
}

 

各文字にアクセス

Sringの各文字に1文字ずつ取り出したい時に以下の様なコードを書いていました。これがdeprecatedになったようで、

for index in targetString.characters.indices {
    // 文字列からCharacterViewを取り出してRangeを取得していましたが・・・
}
for index in targetString.indices {
    // 直接Rangeを取れるようです
}

 

感想

無駄にcharactersを書かなくても良くなったのは、コード量的にもちょっとは良いんですかね。スッキリするので見通しも良くなりますしね。チリツモですかねチリツモ

関連記事

SwiftでOpenALの簡単サンプルソース

【Google Home】Google Homeにテキストを読み上げさせたい

【Raspberry Pi】Raspbian StretchからRaspbian...

iPhoneのスクリーンサイズ一覧

【Objective-C】Implementing deprecated met...

【Swift】日付(Date型)同士の差の取り方