2017-04-19 14 views
0

我正在创建一个预订应用程序。我正在使用UIPickers显示打开的时间。我有选择器功能齐全,但不知道如何在用户从提供的选项中选择一个后删除预订时间。我对Xcode比较陌生,所以任何信息都非常感谢!从选择中删除字符串从UIPicker

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) 
    } 
} 

谢谢!

回答

2

首先从改变你的不断声明pickerData变量

var pickerData = ["9:30","10:30","11:30","12:30","1:30","2:30"]. 

接下来,您将需要您的myLabel.text代码后删除数组元素在你的方法didSelectRow

pickerData.removeAtIndex(row) 

并重装选择器

myPicker.reloadAllComponents() 
+0

嗨,狮子座。感谢您的代码!我有一个问题。我已经将您的代码添加到我的项目中,并且在按下按钮选择该行之前数据正在删除自己(当您滚动数据时,数据会自动删除)。任何想法如何可以修复? –