【发布时间】:2017-01-18 19:55:31
【问题描述】:
我有一个 UIPickerView 我需要将用户选择保存到 Parse。我已经尝试了一百万种不同的东西,但它只是让我的列空白。任何想法我做错了什么?信息只是没有保存到 Parse,我知道 UIPicker 可以工作,因为标签会更新。我已经搜索了谷歌和堆栈,但看不到我的代码有什么问题?
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var pickedLabel: UILabel!
var pickerDataSource = ["Car", "Bus", "Train", "Plane", "Boat"]
override func viewDidLoad() {
super.viewDidLoad()
self.pickerView.dataSource = self;
self.pickerView.delegate = self;
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.pickerDataSource.count;
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return self.pickerDataSource[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
PFUser.currentUser()?["PickerColumn"] = self.pickerDataSource[row];
self.pickedLabel.text = "Your choice: \(self.pickerDataSource[row])"
PFUser.currentUser()?.saveInBackground()
}
我也试过这个:
var pickerSave: String?
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
pickerSave = pickerDataSource[row]
self.pickedLabel.text = "Your choice: \(self.pickerDataSource[row])"
}
@IBAction func next(sender: AnyObject) {
PFUser.currentUser()?["pickerColumn"] = pickerSave
self.performSegueWithIdentifier("next", sender:self)
PFUser.currentUser()?.saveInBackground()
}
【问题讨论】:
标签: ios swift parse-platform uipickerview