选择时从 UIPicker 中删除字符串
Posted
技术标签:
【中文标题】选择时从 UIPicker 中删除字符串【英文标题】:Deleting string from UIPicker upon selection 【发布时间】:2017-04-19 16:50:53 【问题描述】:我正在创建一个预订应用程序。我正在使用 UIPickers 来显示开放时间。我的选择器功能齐全,但不确定在用户从提供的选项中选择一个后如何删除预订的时间。我对 Xcode 比较陌生,因此非常感谢任何信息!
import Foundation
import UIKit
import Firebase
import FirebaseDatabase
class sTimeSelectionViewController:UIViewController,UIPickerViewDataSource,UIPickerViewDelegate
@IBOutlet weak var myPicker: UIPickerView!
@IBOutlet weak var myLabel: UILabel!
let pickerData = ["9:30","10:30","11:30","12:30","1:30","2:30"]
override func viewDidLoad()
super.viewDidLoad()
myPicker.dataSource = self
myPicker.delegate = self
myPicker.tag = 1
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
return 1
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
return pickerData.count
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
return pickerData[row]
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
myLabel.text = pickerData[row]
@IBAction func postData(sender: AnyObject)
let ref = FIRDatabase.database().referenceFromURL("deleted URL")
ref.child("Time").setValue(myLabel.text)
谢谢!
【问题讨论】:
【参考方案1】:首先将您的 pickerData 声明从常量更改为变量
var pickerData = ["9:30","10:30","11:30","12:30","1:30","2:30"].
接下来,您需要在 myLabel.text 代码之后删除方法 didSelectRow 中的数组元素
pickerData.removeAtIndex(row)
然后重新加载你的选择器
myPicker.reloadAllComponents()
【讨论】:
嗨,里奥。谢谢你的代码!!我有一个问题。我已将您的代码添加到我的项目中,并且在通过按钮按下选择行之前数据会自行删除(当您刷过可用时间时,数据会在您滚动时自行删除)。关于如何解决这个问题的任何想法??以上是关于选择时从 UIPicker 中删除字符串的主要内容,如果未能解决你的问题,请参考以下文章