如何在核心数据中存储 UIButton 值?
How to store UIButton value in core data?
如何在核心中存储 UIButton
值 data.I 有两个按钮分别命名为 BloodGroup 和 city。
当用户点击任何按钮时 pickerview
出现在底部并且有取消和完成 button.So 用户 select 值来自 UIPickerview
然后点击完成按钮然后 UIPickerview
消失并且该值显示在 UIButton
.
中
两个问题需要回答。
我想将这个值存储在核心数据中。
1) 我们如何存储这个值?
第二个选项是,如果我们可以将这个值存储在 uitextfield 中,那就很容易了。
2) 谁能告诉我如何将数据从按钮中的 selected 字段传递到 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.
}
}
如我所见,所选值只是一个字符串。您可以将字符串存储在核心数据中。
对于第二个问题:可以通过current title方法获取按钮title的值。参见:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instp/UIButton/currentTitle
顺便说一句,你考虑过使用 NSUserDefaults 来存储这个值吗?这对你来说可能更容易。
如何在核心中存储 UIButton
值 data.I 有两个按钮分别命名为 BloodGroup 和 city。
当用户点击任何按钮时 pickerview
出现在底部并且有取消和完成 button.So 用户 select 值来自 UIPickerview
然后点击完成按钮然后 UIPickerview
消失并且该值显示在 UIButton
.
两个问题需要回答。 我想将这个值存储在核心数据中。 1) 我们如何存储这个值?
第二个选项是,如果我们可以将这个值存储在 uitextfield 中,那就很容易了。
2) 谁能告诉我如何将数据从按钮中的 selected 字段传递到 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.
}
}
如我所见,所选值只是一个字符串。您可以将字符串存储在核心数据中。
对于第二个问题:可以通过current title方法获取按钮title的值。参见:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instp/UIButton/currentTitle
顺便说一句,你考虑过使用 NSUserDefaults 来存储这个值吗?这对你来说可能更容易。