[英]How to store UIButton value in core data?
如何在核心数据中存储UIButton
值。我有两个名为BloodGroup和city的按钮。 当用户单击任何按钮时, pickerview
会出现在底部,并且有“ cancel and done”按钮。因此,用户从UIPickerview
选择值,然后单击“ Done”按钮,然后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.
}
}
如我所见,所选值只是一个字符串。 您可以将字符串存储在核心数据中。
对于第二个问题:您可以使用当前的标题方法获取按钮标题的值。 参见: https : //developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instp/UIButton/currentTitle
顺便说一句,您是否考虑过使用NSUserDefaults存储此值? 对您来说可能会更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.