【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を書かなくても良くなったのは、コード量的にもちょっとは良いんですかね。スッキリするので見通しも良くなりますしね。チリツモですかねチリツモ

関連記事

【Ubuntu】UnuntuにSwiftをインストールしてみた件

Atomでterminal-plusが動かなくなったときの対処法

【Xcode】制約をソースにリンク

【Objective-C】'void (^ _Nonnull __strong)...

【Flutter】シミュレーターで最初のアプリを起動してみる【Mac】

【Swift4】Stringイニシャライズ時のエラー