选择时从 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 中删除字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在编译时从 string_view 中删除子字符串?

使用查询检索数据时从 varchar 中删除特定字符

单击按钮时从 Access 数据库中删除特定记录

自定义UIPicker控件IOS

php 过滤以在提交或重定向时从URL中删除联系表单7查询字符串。进入函数文件。

单击元素时从 mongodb 中删除特定的数组元素