Привет, ребята, я пытаюсь сделать некоторые Util, что мне нужно как Pokedex ккIOS - как установить данные сборщика, когда я использую UIView с UIViewController
но у меня есть некоторые проблемы. Я делаю сборщик в отдельном виде, и я вызываю это представление в виде табуляции и использую его.
но я не знаю, как установить данные. Если я сделаю сборщик в uiviewcontroller, я могу установить данные в didload? способ но в uiview нет сделал load способ, который я могу установить.
это мой код
SelectPoke.swift
class SelectPoke: UIView , UIPickerViewDelegate , UIPickerViewDataSource{
@IBOutlet var textField: UITextField!
var data = ["1","2","3"]
var picker = UIPickerView()
public func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
return data.count
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
textField.text = data[row]
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return data[row]
}
func h(){
picker.delegate = self
picker.dataSource = self
}
override func awakeFromNib() {
h()
}
class func instanceFromNib() -> UIView {
return UINib(nibName: "SelectPoke", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
}
}
Tab1ViewController.swift
class Tab1ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let sideView = SelectPoke.instanceFromNib()
sideView.frame = self.view.frame
self.view.addSubview(sideView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
plz help me. мой Pokemon ждет ..
Действительно ли предполагается, что вы используете 'SelectPoke' как подкласс UIView? Как правило, вы должны реализовать делегат и источник данных в 'Tab1ViewController'. –
проверьте, запускается метод initWithCoder при загрузке представления. –