2017-08-16 10 views
-6

関数xが異なるパラメータ名スウィフトコンパイルエラー異なる関数名×(セル:)と(withCell :)

func x(cell:Int) { }  
func x(onCell:Int){ }//will Not give compile time error because it treats as different name  
func x(withCell:Int){}//For this Line Compile time error is coming why?? 

//と書かれているX使用:メソッド 'X(withCellを:)' Objective-Cのセレクタ 'xWithCell' と方法と 競合 'X(セル:)' が同一のObjective-Cセレクタ

+2

これはObjective-CでもSwiftでもありません。 –

+0

これは速やかな有効な質問であり、他の質問の重複ではありません。人々は迅速に裁判を行い、それを閉じる。新しい人がSOの質問をするのは本当に厳しいです。彼のタイトルは間違っていて、それはすべての混乱を引き起こしました。しかし、あなたが質問を読むと、すぐに過負荷になります。 – adev

+1

@Mayur、ObjCのswift関数では、 'x(cell:)'と 'x(withCell:)'が 'xWithCell:'に変換されるという問題があります。それが許されない理由です。あなたが書いた他の関数は 'xOnCell:'に変換されます。これはこれとは違う方法です。オーバーロードしていないので、これはObjCのオーバーロードとは関係ありません。 – adev

答えて

0

との答えとして私のコメント投稿:

問題をObjC swift関数x(cell:)x(withCell:)xWithCell:に変換されます。それが許されない理由です。あなたが書いた他の関数は、これとは違う方法であるxOnCell:に変換されます。これはオーバーロードにならないので、ObjCのオーバーロードとは関係ありません。それはちょうど異なる関数シグネチャです。希望が役立ちます。

関連する問題