Ios 以数组形式从swift中的解析中提取数据

Ios 以数组形式从swift中的解析中提取数据,ios,swift,parse-platform,Ios,Swift,Parse Platform,我在一个名为“Competities”的类中有一个竞争列表,我需要从所述类中提取竞争列表来填充数组以填充UI PickerView。完成这项工作最简单的方法是什么 多谢各位 //用代码编辑 override func viewDidLoad() { super.viewDidLoad() var compQuery = PFQuery(className:"Competitions") compQuery.whereKey("teamID", equalTo:"1

我在一个名为“Competities”的类中有一个竞争列表,我需要从所述类中提取竞争列表来填充数组以填充UI PickerView。完成这项工作最简单的方法是什么

多谢各位

//用代码编辑

    override func viewDidLoad() {
    super.viewDidLoad()
    var compQuery = PFQuery(className:"Competitions")
    compQuery.whereKey("teamID", equalTo:"1")
    compQuery.findObjectsInBackgroundWithBlock {
        (competitions: [AnyObject]!, error: NSError!) -> Void in
        if error == nil {
            // Do something with the found objects
            for competition in competitions {
                NSLog("%@", competition["compName"] as String)
                self.competitionArray += [competition["compName"] as String]
            }
        } else {
            // Log details of the failure
            NSLog("Error: %@ %@", error, error.userInfo!)
        }
    }
}
//编辑时出现新错误 由于我将对象添加到UIPicker中,以便用户选择一个值,因此我使用它来获取作为字符串数组的对象

var competitionArrayString:Array = [competitionArray as AnyObject as [String]]
然而,我收到的错误是,我的班级没有成员“competitionArray”

(1) 要在Swift中向数组添加元素,必须使用
addObject
,而不是
+=
,并且(2)确保正在初始化数组,例如:

override func viewDidLoad() {
    super.viewDidLoad()
    var compQuery = PFQuery(className:"Competitions")
    compQuery.whereKey("teamID", equalTo:"1")

    self.competitionArray = NSMutableArray()

    compQuery.findObjectsInBackgroundWithBlock {
        (competitions: [AnyObject]!, error: NSError!) -> Void in
        if error == nil {
            // Do something with the found objects
            for competition in competitions {
                NSLog("%@", competition["compName"] as String)
                self.competitionArray.addObject(competition["compName"] as String)
            }
            self.pickerControl.reloadAllComponents()  // <- reload your picker's data
        } else {
            // Log details of the failure
            NSLog("Error: %@ %@", error, error.userInfo!)
        }
    }
}
override func viewDidLoad(){
super.viewDidLoad()
var compQuery=PFQuery(类名:“竞赛”)
compQuery.whereKey(“团队ID”,等同于“1”)
self.competitionArray=NSMutableArray()
compQuery.findObjectsInBackgroundWithBlock{
(竞赛:[任何对象]!,错误:N错误!)->在中无效
如果错误==nil{
//对找到的对象执行一些操作
在比赛中竞争{
NSLog(“%@”,竞争[“compName”]作为字符串)
self.competitionArray.addObject(competition[“compName”]作为字符串)
}

self.pickerControl.reloadAllComponents()//这应该是一项相当直接的任务……到目前为止您尝试了哪些代码?@LyndseyScott我知道如何使用文档中提供的代码引用表中的objectID,但是我尝试引用列并将数据放入数组。您可以使用
FindObjectsInBackgroundIt查询整个类hBlock:
用你的类名的PFQuery,我就知道了。我如何把查询到的数据放到数组中?它已经以数组的形式返回了…如果你想得到更多的帮助,你真的必须发布你的代码。这确实有帮助,但是,请检查原始帖子中是否有新错误的更新,看看你是否知道我为什么会得到这些。Th谢谢。@TylerPatrick哪里/有什么错误?我在你的帖子中没有看到关于它们的任何内容…只是添加了它们,很抱歉造成混淆。@TylerPatrick此行
var competitionArray:Array=[competitionArray as AnyObject as[String]]
不能在方法外部或类外部使用…该行不属于该行。@TylerPatrick实际上这是同一个问题。您不能让这行
var competitionArrayString:Array=[competitionArray as AnyObject as[String]]
在函数外部。它也是competitionArrayString的重复声明,这不好。。。
override func viewDidLoad() {
    super.viewDidLoad()
    var compQuery = PFQuery(className:"Competitions")
    compQuery.whereKey("teamID", equalTo:"1")

    self.competitionArray = NSMutableArray()

    compQuery.findObjectsInBackgroundWithBlock {
        (competitions: [AnyObject]!, error: NSError!) -> Void in
        if error == nil {
            // Do something with the found objects
            for competition in competitions {
                NSLog("%@", competition["compName"] as String)
                self.competitionArray.addObject(competition["compName"] as String)
            }
            self.pickerControl.reloadAllComponents()  // <- reload your picker's data
        } else {
            // Log details of the failure
            NSLog("Error: %@ %@", error, error.userInfo!)
        }
    }
}