Ios 删除UIPicker数据
我们试图在选择时从UIPicker视图中删除数据,但是,在选择UIPicker中的任何字符串时,它仅删除第一个字符串“选择您的时间”。返回后,“选择您的时间”也会重新加载。重载函数是必需的,否则我们的代码不会删除任何内容Ios 删除UIPicker数据,ios,swift,swift2,uipickerview,Ios,Swift,Swift2,Uipickerview,我们试图在选择时从UIPicker视图中删除数据,但是,在选择UIPicker中的任何字符串时,它仅删除第一个字符串“选择您的时间”。返回后,“选择您的时间”也会重新加载。重载函数是必需的,否则我们的代码不会删除任何内容 import Foundation import UIKit import Firebase import FirebaseDatabase class timeSinglesViewController:UIViewController,UIPickerViewD
import Foundation
import UIKit
import Firebase
import FirebaseDatabase
class timeSinglesViewController:UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
@IBOutlet weak var myPicker: UIPickerView!
@IBOutlet weak var myLabel: UITextField!
var pickerData = ["Select You're Time","6:30", "7:30", "8:30", "9:30", "10:30", "11:30", "12:30", "1:30", "2:30", "3:30", "4:30", "5:30", "6:30", "7: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 row = Int()
let ref = FIRDatabase.database().referenceFromURL("deleted url")
ref.child("Time").setValue(myLabel.text)
pickerData.removeAtIndex(row)
myPicker.reloadAllComponents()
}
}
任何想法都很感激。谢谢大家! 顺便说一句,当你说“返回后”时应该是“选择你的时间”,你是说按下另一个ViewController然后弹出吗?我指的是进入下一个视图,然后单击返回栏按钮项。你没有将pickerData存储在永久位置,因此该值可能会重置为初始值。您可能需要创建一个存储会话状态的对象,您可以查询该对象以查看“选择您的时间”是否已显示一次—如果已显示,则不再显示。正确的iOS术语将出现在下一个“ViewController”中。