Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从完成块追加到数组中_Ios_Swift_Swift2 - Fatal编程技术网

Ios 从完成块追加到数组中

Ios 从完成块追加到数组中,ios,swift,swift2,Ios,Swift,Swift2,我试图将解析查询的结果附加到usersData中 struct Data { var FirstName:String! var LastName:String! var Gender:String! var Age:String! } 在我的班级里 var usersData = [Data]() 我用这个来 func parseUsersData(completionHandler: [Data] -> Void) { var usersDa

我试图将解析查询的结果附加到usersData中

struct Data {
    var FirstName:String!
    var LastName:String!
    var Gender:String!
    var Age:String!
}
在我的班级里

var usersData = [Data]()
我用这个来

func parseUsersData(completionHandler: [Data] -> Void) {
    var usersDataArray = [Data]()
    let query = PFQuery(className: "_User")
    query.fromLocalDatastore()
    query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
        if error == nil {
            if let user = objects as? [PFObject]! {
                for object in user! {

                    var singleData = Data()

                    singleData.FirstName = object["firstName"] as! String
                    singleData.LastName = object["lastName"] as! String
                    singleData.Gender = object["gender"] as! String
                    singleData.Age = object["age"] as! String

                    usersDataArray.append(singleData)
                }
            }
            completionHandler(usersDataArray)
        }

    }
}
最后,我尝试这样做:

编辑:为了澄清,我需要将查询中的数据userDataArray传递到数组usersData中

    parseUsersData { (usersDataArray) -> Void in
        usersData.append(usersDataArray)
    }
我得到的错误是

  Cannot convert value of type '[Data]' to expected argument type 'Data'

在上一个代码块中,您似乎将数据数组附加到数据对象
usersData.append(usersDataArray)
,我认为这会导致错误。您的意思是编写
usersDataArray.append(usersData)
,这更有意义吗?

您正在尝试将数据数组添加到正在查找数据对象的数组中。添加处理数据数组的新结构,然后更改usersData以查找DataArray的:

struct DataArray {
    var array = [Data]()
}
并更改行:

var usersData = [DataArray]()

usersDataArray
是一个数组。要将一个数组添加到另一个数组中,请首选
appendContentsOf

usersData.appendContentsOf(usersDataArray)

您可以尝试
usersData+=usersDataArray
append以任何方式获取数组元素并将其附加到这些元素的数组中。这给了我相同的错误。你能详细说明一下吗?只是想澄清一下,你确实想要一个数组,对吗?你在哪一行收到错误?另外,您如何声明usersData?对不起,我不确定这是否是我要找的。。听起来对吗?我正在尝试将数据从usersDataArray获取到usersData中。现在我将usersData声明为var usersData:Data。那可能是你的问题了。usersData需要是一个数组。将其声明为
var usersData=[Data]()
。然后执行
usersData。appendContentsOf(usersDataArray)
很抱歉,我确实有过这样的内容。我以为你指的是别的什么当我打印出UsersData时,我得到一个空数组你在哪里打印UsersData?usersDataArray不是空的吗?我正在viewDidLoad中打印userData。UsersDataArray由解析查询中的数据填充。您可以发布usersData和UsersDataArray打印的屏幕截图吗?从usersData.appendContentsOf(usersDataArray)打印输出