【发布时间】:2015-10-03 13:07:30
【问题描述】:
如何在核心数据中存储UIButton 值。我有两个按钮,分别命名为 BloodGroup 和城市。
当用户点击任何按钮然后pickerview 出现在底部并且有取消和完成按钮。所以用户从UIPickerview 中选择值并点击完成按钮然后UIPickerview 消失并且该值显示在UIButton。
需要回答两个问题。 我想将此值存储在核心数据中。 1)我们如何存储这个值?
第二个选项是如果我们可以将这个值存储在 uitextfield 中,那么这很容易。
2) 谁能告诉我如何将按钮中选定字段的数据传递给UITextField?
import UIKit
class Bloodbank: UIViewController {
@IBOutlet weak var Bloodgroup: UIButton!
@IBOutlet weak var City: UIButton!
@IBOutlet weak var pickerViewObj: UIPickerView!
@IBOutlet weak var subViewObj: UIView!
let fruitsArrayValues = ["A+","A-","B+","B-","AB+","AB-","O+","O-"]
let iPhoneModelArrayValues = ["Ahmedabad","Gandhinagar","Surat","Rajkot","Vadodara"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
subViewObj.hidden = true
}
//delegate methods.
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
//dynamic delegate methods using pickerviewObj.tag
if pickerViewObj.tag == 0 {
return fruitsArrayValues.count
}
else {
return iPhoneModelArrayValues.count
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
if pickerViewObj.tag == 0 {
return "\(fruitsArrayValues[row])" //its displyed to titleForRow.
}
else {
return "\(iPhoneModelArrayValues[row])"
}
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
//valuesLbl.text = pickerDataValues[row]
}
@IBAction func selectItemsBtn(sender: AnyObject) {
//first they set the tag in pickerviewObj.
subViewObj.hidden = false
switch sender.tag {
case 0:
pickerViewObj.tag = 0
case 1:
pickerViewObj.tag = 1
default:
break;
}
pickerViewObj.reloadAllComponents()
}
@IBAction func cancelBtn(sender: AnyObject) {
subViewObj.hidden = true
}
@IBAction func DoneBtn(sender: AnyObject) {
if pickerViewObj.tag == 0 {
let selectedIndex = pickerViewObj.selectedRowInComponent(0)
Bloodgroup.setTitle(fruitsArrayValues[selectedIndex], forState: UIControlState.Normal)
}
else if pickerViewObj.tag == 1 {
let selectedIndex = pickerViewObj.selectedRowInComponent(0)
City.setTitle(iPhoneModelArrayValues[selectedIndex], forState: UIControlState.Normal)
}
subViewObj.hidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
标签: ios swift core-data uibutton uipickerview