Type "myViewController" does not conform to protocol UIPIckerDataSource in Swift

r4id4 picture r4id4 · Jul 26, 2014 · Viewed 42.8k times · Source

I just create a new class in Swift, it's called myViewController and it's a UIViewController. Now I'm trying to make it a UIPickerViewDelegate and DataSource but i got a strange error

import UIKit

class myViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
   ...
}

It says Type "myViewController" does not conform to protocol UIPIckerDataSource over the UIPickerViewDataSource.

Is it a bug of Xcode-Beta 3??

Screenshot for compile-time error

Answer

salman140 picture salman140 · Jul 26, 2014

You need to implement all the required methods of UIPickerViewDataSource and UIPickerViewDelegate, if you want to conform to these protocols.

Swift is more like java when it comes to protocols because if you don't implement all the required methods declared by a protocol you are going to get a compile time error instead of a run time exception.