Swiftのオーバーロード

Xcode

Swiftではオーバーロードが可能となった。
Swiftでオーバーロードさせるメソッドを作成すると

Method ‘hogeMethod’ with Objective-C selector ‘hogeMethod: ‘ conflicts with previous declaration with the same Objective-C selector

というコンパイルエラーが発生する。これはSwiftではオーバーロードが可能なのだが、Objective-cではオーバーロードができないため発生する。

上記エラーはSwiftクラスでもNSObjectを継承している、Swiftクラスで発生しているはずだ。Objective-cはオーバーロードがないため、呼び出し側のObjective-cがその挙動を取れないために発生するようだ。

これはもうしょうがないのでメソッド名を変えて対応するしかない。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です