2015-09-21 1 views
0

J'essaye de créer deux méthodes avec les arguments suivants mais le compilateur se plaint qu'ils sont ambigus. Je suis une série youtube pour apprendre Swift et ça semble aller dans la vidéo. Qu'est-ce que je rate?surcharge de fonction dans swift

func performOperation(operation: Double -> Double){

func performOperation(operation:(Double, Double)->Double){

Répondre

1

Il vous semble peut-être en cours d'exécution dans le même problème mentionné dans this reddit thread. Il semblerait que la solution consiste simplement à renommer vos fonctions, en raison d'un conflit avec les méthodes héritées de Objective C.

par exemple.

func myPerformOperation(operation: Double -> Double){ 

func myPerformOperation(operation:(Double, Double)->Double){ 

(Ce ne sont pas idéales noms, ils devraient être plus descriptif, mais vous voyez l'idée.)

+0

Merci pour le lien, changement de nom ne fonctionne pas, mais ce qui les rend 'a private' –