ios - Does not conform to protocol UIPickerViewDataSource -
i don't know what's wrong coding. tried follow tutorial same error happen.
error:
type 'fourthviewcontroller' not conform protocol 'uipickerviewdatasource'
here code:
import uikit let characters = ["jaja bink", "luke", "han solo", "princess leia"]; let weapons = ["lightsaber", "pistol", "keris"]; class fourthviewcontroller: uiviewcontroller, uipickerviewdatasource, uipickerviewdelegate { @iboutlet weak var doublepicker: uipickerview! override func viewdidload() { super.viewdidload() // additional setup after loading view. } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } func numberofcomponentsinpickerview(pickerview: uipickerview) -> int { return 2 } func pickerview(pickerview: uipickerview, titleforrow row: int, forcomponent component: int) -> string? { if component == 0 { return characters[row] } else { return weapons[row] } } func pickerview(pickerview: uipickerview, numberofrowsincomponent component: int) -> int? { if component == 0 { return characters.count } else { return weapons.count } } }
replacing deprecated version of method of protocol uipickerviewdatasource
, if you're using swift 3
works you.
deprecated method of protocol
func numberofcomponentsinpickerview(pickerview: uipickerview) -> int { return 1 }
latest method of protocol in swift 3
func numberofcomponents(in pickerview: uipickerview) -> int { return 1 }
note: same true other required protocol methods. i.e
deprecated:
func pickerview(pickerview: uipickerview!, numberofrowsincomponent component: int) -> int
recent version:
func pickerview(_ pickerview: uipickerview, numberofrowsincomponent component: int) -> int
Comments
Post a Comment