WEB・アプリ開発

Swiftで「Could not find an overload for ‘==’ that accepts the supplied arguments」というエラーが出た場合

記事内に商品プロモーションを含む場合があります

以下のコードの3行目でエラーが発生しました。

エラー内容

このようなエラーです。

原因

理由は最初のコードの1行目でas!を使用しているため、cellはoptional型ではないのに、3行目でnilチェックをしているためです。

解決策

なので、解決策は以下の二つのどちらかです。

  • 1行目のas!as?に変えてcellをoptional型にする。
  • nilではないのが明らかなので、3〜5行目を削除する。

私の場合は、他の場所で-registerClass:forCellReuseIdentifierを使ってデフォルトのUITableViewCellを登録しており、nilにはなり得なかったので、二つ目の方法を採用しました。

参考

Swift: could not find an overload for conversion that accepts supplied argument

そして、一つお願いしたいことがあります。

もしこの記事がお役に立てたのなら、下のボタンからSNSでシェアするか、あなたのブログでご紹介頂けないでしょうか?検索エンジンの仕組みで、同じ問題で今困っている方の目に届きやすくなります。もちろん、私としても記事を書くモチベーションになります。

記事への要望やダメ出しを書いて頂いても嬉しいです。定期的にエゴサーチしており、今後の記事で活かさせて頂きます。よろしくお願いいたします!