swift 数字显示问号的选择器视图
swift picker view with numbers displaying question marks
我已将选择器视图添加到我的应用程序并将其设置为数字数组。当我 运行 应用程序时,我看到的都是问号。
有人知道问题出在哪里吗?我也尝试过使用类型 Int 并收到相同的结果。
这是我的代码。
import UIKit
import Firebase
import FirebaseDatabase
import FirebaseStorage
class myViewController: UIViewController, UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var settings: UIBarButtonItem!
@IBOutlet weak var myTextField: UITextField!
@IBOutlet weak var enterExit: UISegmentedControl!
@IBOutlet weak var dayLabel: UILabel!
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var daysTextField: UITextField!
let numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
var hhh = Int()
let seconds = 60.0
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> Int? {
return numbers[row]
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return numbers.count
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
var days = numbers[row]
}
override func viewDidLoad() {
super.viewDidLoad()
self.pickerView.delegate = self
self.pickerView.dataSource = self
您的问题在于:
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> Int? {
return numbers[row]
}
这个方法不应该是私有的,它应该有正确的签名。此委托方法需要 return 一个可选的 String
,而不是一个可选的 Int
.
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return String(numbers[row])
}
我已将选择器视图添加到我的应用程序并将其设置为数字数组。当我 运行 应用程序时,我看到的都是问号。
有人知道问题出在哪里吗?我也尝试过使用类型 Int 并收到相同的结果。
这是我的代码。
import UIKit
import Firebase
import FirebaseDatabase
import FirebaseStorage
class myViewController: UIViewController, UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var settings: UIBarButtonItem!
@IBOutlet weak var myTextField: UITextField!
@IBOutlet weak var enterExit: UISegmentedControl!
@IBOutlet weak var dayLabel: UILabel!
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var daysTextField: UITextField!
let numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
var hhh = Int()
let seconds = 60.0
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> Int? {
return numbers[row]
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return numbers.count
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
var days = numbers[row]
}
override func viewDidLoad() {
super.viewDidLoad()
self.pickerView.delegate = self
self.pickerView.dataSource = self
您的问题在于:
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> Int? {
return numbers[row]
}
这个方法不应该是私有的,它应该有正确的签名。此委托方法需要 return 一个可选的 String
,而不是一个可选的 Int
.
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return String(numbers[row])
}