快速选择器视图,数字显示问号
Posted
技术标签:
【中文标题】快速选择器视图,数字显示问号【英文标题】:swift picker view with numbers displaying question marks 【发布时间】:2017-09-16 03:50:53 【问题描述】:我在我的应用程序中添加了一个选择器视图并将其设置为一个数字数组。当我运行应用程序时,我看到的只是问号。
有谁知道问题出在哪里?我也尝试过使用 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
【问题讨论】:
看看这个:***.com/questions/40199826/…,我觉得你需要了解一下uipickerviewdelegate
和uipickerviewdatasource
用您的相关代码更新您的问题。显示选择器视图的委托和数据源方法。
这是我的代码@3stud1ant3
这里是代码@rmaddy
尝试在 titleForRow
方法之前删除 private
【参考方案1】:
您的问题在于:
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> Int?
return numbers[row]
这个方法不应该是私有的,它应该有正确的签名。这个委托方法需要返回一个可选的String
,而不是可选的Int
。
private func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
return String(numbers[row])
【讨论】:
以上是关于快速选择器视图,数字显示问号的主要内容,如果未能解决你的问题,请参考以下文章