Bonjour,

Je suis débutant en Swift 4 et j'utilise Xcode 8.3.3.
Je voudrais créé un timer, qui pourrais prendre plusieur valeur en fonction du choix de l'utilisateur (choix 1 : 8 min, choix 2 : 2 min ...). Pour cela j'utilise un pickerView que j'initialise avec les fonctions
"numberOfComponents(in pickerView: UIPickerView) -> Int" et
"pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int".
Par la suite, pour affecter des valeurs à mon pickerView, j'utilise
"pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?"

Mon problème est le suivant : lorsque je veux utiliser mon pickerView (avec pickerView.dataSource ou pickerView.delegate) j'ai un message d'erreur :
"Ambiguous reference to member 'pickerView(_:numberOfRowsInComponent:)'", il ne sait pas si je parle du pickerView qui retourne un Int ou celui qui retourne un String.

Aprés quelques recherche, swift 4 devrait faire la différence entre leux deux fonctions du même nom (ici pickerView) si les paramétres et les returns des focntions sotn différent, ce qui est mon cas.

Ci-dessous mon code source.

Merci beaucoup d'avant de votre préciseuse aide :)
//
// ViewController.swift
// EggTimer
//
// Created by bastien on 25/06/2017.
// Copyright © 2017 bastien. All rights reserved.
//

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

// Variable

var pickerInfo: [String] = []
// Outlets

@IBOutlet weak var minuteurLabel: UILabel!

@IBOutlet weak var activerMinuteurBouton: UIButton!

@IBOutlet weak var pickerViewOutlet: UIPickerView!

// Actions

@IBAction func activerMinuteurAction(_ sender: UIButton) {
}

@IBAction func resetMinuteurAction(_ sender: UIButton) {
}

override func viewDidLoad() {
super.viewDidLoad()

pickerView.dataSource = self
pickerView.delegate = self

for i in 0...8{
let row = "option \(i)"
pickerInfo.append(row)
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

// MARK - pickerViewDataSource
// returns the number of 'columns' to display.
@available(iOS 2.0, *)
public func numberOfComponents(in pickerView: UIPickerView) -> Int{
return 1
}


// returns the # of rows in each component..
@available(iOS 2.0, *)
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
return pickerInfo.count
}


func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerInfo[row]
}
}