gpt4 book ai didi

ios - 使用 swift 在选择器 View 中填充解析对象

转载 作者:行者123 更新时间:2023-11-29 02:11:01 24 4
gpt4 key购买 nike

希望有人能帮忙?我在一个 View 上有两个查询。第一个填充一个按预期工作的表。我想填充 UIPickerView 的第二个查询这让我很伤心:(

在println语句中可以看到结果如果有人可以提供帮助,将不胜感激

代码如下 类 ProfileVC: UIViewController {

var pickerString = NSArray() as AnyObject as [String]
var industryValue = [getIndustries]()

@IBOutlet weak var StoredIndustries: UITableView!
@IBOutlet weak var countryControl: UIPickerView!

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.

var query = PFQuery(className:"Industries")

query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in

if error == nil {
// query successful - display number of rows found
println("Successfully retrieved \(objects.count) industries")

// print sentences found
for object in objects {

let retrievedIndustries = object["Sector"] as NSString
self.industryValue += [getIndustries(parseIndustry:"\(retrievedIndustries)")]
println("\(retrievedIndustries) ")
}

} else {
// Log details of the failure
println("Error: \(error) \(error.userInfo!)")
}

self.StoredIndustries.reloadData()
}

var query2 = PFQuery(className: "CountryLanguage")

query2.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in

if error == nil {
println("Successfully retrieved \(objects.count) Countries")
var counter: Int = 0
for object in objects {
var storeString = ""
let retrievedLanguages = object["Language"] as NSString
let retrievedCode = object["Ccode"] as NSString
println("\(retrievedLanguages)" + " - " + "\(retrievedCode)")
storeString = ("\(retrievedLanguages)" + " - " + "\(retrievedCode)")
self.pickerString.insert(storeString, atIndex:counter)
counter = counter + 1
}
//self.countryControl.reloadAllComponents()
}
}

}

提前致谢

最佳答案

您应该在 findObjectsInBackgroundWithBlock 中取消注释 self.countryControl.reloadAllComponents(),以便您的 `UIPickerView 可以刷新。

您还需要让您的 UIViewControl 扩展 UIViewController,UIPickerViewDataSourceUIPickerViewDelegate。执行以下操作:

class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
}

然后在 viewDidLoad() 方法中,设置 UIPickerView 的委托(delegate)和数据源

override func viewDidLoad() {
super.viewDidLoad()
countryControl.delgete = self
countryControl.dataSource = self
......}

您还应该为 UIPickerView 实现以下委托(delegate)方法:

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.pickerString.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {

return self.pickerString[row]
}

关于ios - 使用 swift 在选择器 View 中填充解析对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com