swift 重寫方法不同引數同方法名問題

2021-07-02 01:33:29 字數 523 閱讀 9192

method"performoperation" with objective-c selector"performoperation:"conflicts with previous declaration with the same obejctive-c selector.

func performoperation(operation: (double, double) ->double)

}private func performoperation(operation: double ->double)

}

這是因為viewcontroller繼承自uiviewcontroller,而oc不支援方法過載。在swift中是支援方法過載的, 只要返回值及引數型別,引數個數不同就可以。還有就是要注意外部形參名的情況,外部形參名也可以作為方法過載的乙個重要的判斷。

解決方法:一、刪除繼承oc,顯示不可能,所以只能用private

修飾。  二、更改方法名。

參考:

python 根據不同引數呼叫不同的函式

有時候需要根據不同的情況呼叫不同的方法實現功能邏輯,有什麼優雅的方式可以實現麼?首先有乙個最原始的if else方式 parm a defa print a defb print b if parm a a elif parm b b 這樣的方式可以實現功能邏輯,但是略顯low,而且後續的擴充套件不...

python 根據不同引數呼叫不同的函式

有時候需要根據不同的情況呼叫不同的方法實現功能邏輯,有什麼優雅的方式可以實現麼?首先有乙個最原始的if else方式 parm a defa print a defb print b if parm a a elif parm b b 這樣的方式可以實現功能邏輯,但是略顯low,而且後續的擴充套件不...

useEffect 傳遞不同引數有哪些執行規則?

一 引數規則 1 可選的 2 陣列型別 3 值為state或者props 二 不同的引數和返回 1 不傳引數 預設的行為,會每次 render 後都執行,一般表單控制中使用 類似於類元件中的componentdidmoount以及componentdidupdate useeffect 2 空陣列 ...