#ios #swift
#iOS #swift
Вопрос:
Я пытаюсь создать простой вид выбора. это то, что у меня есть до сих пор, но данные не отображаются. В большинстве справок, которые я нашел, говорится, что нужно поместить код pickerview под viewDidLoad
но это не на моем основном ViewController
, поэтому я не уверен, что проблема в этом.
import Foundation
import UIKit
class AddViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
let formulaNumbers = ["Formula1", "Formula2", "Formula3", "Formula4", "Formula5", "Formula6"]
let numberOfBatches = [1...100]
@IBOutlet weak var pickerUI: UIPickerView!
@IBAction func dissmissButton(_ sender:Any) {
self.dismiss(animated: true, completion: nil)
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return formulaNumbers.count
}
return numberOfBatches.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
return formulaNumbers[row]
}
return "(numberOfBatches[row])"
}
}
В чем проблема и что мне делать? и заранее благодарю вас.
Комментарии:
1. Пожалуйста, назначьте делегат и источник данных для себя в viewDidLoad
Ответ №1:
Похоже, вы забыли подтвердить delegate
и dataSource
своему AddViewController
для pickerUI
итак, в viewDidLoad
методе добавьте
pickerUI.dataSource = self
pickerUI.delegate = self
И ваш метод будет выглядеть так:
override func viewDidLoad() {
pickerUI.dataSource = self
pickerUI.delegate = self
}