Ios 如何在选择uipickerview或提交页面时从文本描述中获取代码
我已经从webservice Json响应中填写了country UIPickerview。 在提交页面或选择描述时,我希望国家代码存储在某个变量中 我的代码在下面Ios 如何在选择uipickerview或提交页面时从文本描述中获取代码,ios,swift,uipickerview,Ios,Swift,Uipickerview,我已经从webservice Json响应中填写了country UIPickerview。 在提交页面或选择描述时,我希望国家代码存储在某个变量中 我的代码在下面 提前感谢。将变量存储在didselectrow或viewforrow@sanjeet请详细说明。我如何存储和检查所选行并从中获取代码?抱歉,我对swift应用程序不太熟悉。didselectrow和viewforrow是pickerview委托方法,当您更改选择时,它会调用该方法从数组中捕获值并将其存储在变量中。这是否意味着我必须将
提前感谢。将变量存储在didselectrow或viewforrow@sanjeet请详细说明。我如何存储和检查所选行并从中获取代码?抱歉,我对swift应用程序不太熟悉。didselectrow和viewforrow是pickerview委托方法,当您更改选择时,它会调用该方法从数组中捕获值并将其存储在变量中。这是否意味着我必须将该json数组保存在字典中?这无关紧要,您想将其存储在数组或字典中,只需从数据源阵列或字典中获取数据。
import Foundation
import UIKit
import QuartzCore
class viewAdvanceSearchController: UIViewController,UIPickerViewDataSource, UIPickerViewDelegate
{
@IBOutlet var txtFieldConName: UITextField!
@IBOutlet var txtFieldCompName: UITextField!
@IBOutlet var txtFieldSelectedTown: UITextField!
@IBOutlet var txtFieldSelectedCountry: UITextField!
@IBOutlet var viewImgContact: UIImageView!
@IBOutlet var viewImageCompany: UIImageView!
@IBOutlet var uiPickCountry: UIPickerView!
@IBOutlet var uiPickTown: UIPickerView!
var countryList: [String] = []
var townList: [String] = ["London", "Abingdon"]
@IBOutlet var uiSegmCntrlFavRecent: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
uiPickCountry.tag = 0
uiPickTown.tag = 1
/* Fetch country list logic starts */
// self.view.removeFromSuperview();
uiPickCountry = UIPickerView(frame: CGRectMake(0, 400, 310, 35))
uiPickCountry.dataSource = self
uiPickCountry.delegate = self
uiPickCountry.showsSelectionIndicator=true
uiPickCountry.center = view.center
//uiPickCountry.hidden=true
//view.addSubview(uiPickCountry)
txtFieldSelectedCountry.inputView = uiPickCountry
var resultPage=false
let url = NSURL(string: "http://URL/getAllCountriesJSON")
var xmlParse:NSString = ""
//var data : NSData!
let request = NSMutableURLRequest(URL: url!)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.HTTPMethod = "GET"
let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
println("Task completed")
if(error != nil) {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if(err != nil) {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
if let results = jsonResult["country"] as? NSArray
{
for country in results {
let couCode: String? = country["couCode"] as? String
let couDescription: String? = country["couDescription"] as? String
println(couCode,couDescription)
self.countryList.append(couDescription!)
}
}
self.txtFieldSelectedCountry.text = self.countryList[0]
})
task.resume()
// Do any additional setup after loading the view, typically from a nib.
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int
{
return countryList.count
return 1
}
func pickerView(pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String!{
return countryList[row]
return ""
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
txtFieldSelectedCountry.text = countryList[row]
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
uiPickCountry.hidden = false
return false
}
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
self.view.endEditing(true);
return true;
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}