gpt4 book ai didi

ios - 尝试将 Parse 中的一行数据提取到 Swift 中的数组中

转载 作者:行者123 更新时间:2023-11-30 13:58:31 24 4
gpt4 key购买 nike

我正在尝试将数据从 Parse 类提取到我的 Swift 项目中。我总体上很挣扎,因为我仍在学习,但我至少已经达到了查询成功执行并返回结果的程度。问题在于数据仅存在于循环对象的 for 循环中。尝试附加数组或将变量设置为 Parse 对象值失败。任何想法将不胜感激,谢谢!

//Declare variables that should exist outside the query
var parseArray : [Double] = Array() //the array to store the results
var parseResult1 : Double = Double() //the variable to store one of the data points from the parse class
let parseResults = PFObject(className:"parseResults")

//declare query variable and run query
let parseResultsQuery = PFQuery(className:"parseResults")
parseResultsQuery.whereKey("username", equalTo: (PFUser.currentUser()?.username)!)
parseResultsQuery.findObjectsInBackgroundWithBlock {
(objects, error: NSError?) -> Void in
if error == nil {
for object in objects!{ //looping through returned data
print("no error in Parse lookup")
parseResult1 = object["parseResult1"] as! Double
print("Parse result in object loop: \(parseResult1)")
parseArray.append(parseResult1)
}
} else {
print(error)
}
}
print("Parse result outside of loop: \(parseResult1)")
print(parseArray)

parseResult1 变量显示“for object in objects”循环中的值(例如 7.0),但在循环之外该值不会存储并显示为 0.0。理想情况下,我希望将与用户名键匹配的所有 Parse 值存储在 Swift 数组中,但此时我会选择将对象一一取出!

最佳答案

您已关闭:

... findObjectsInBackgroundWithBlock { (objects, error: NSError?) -> Void in...

当你调用它时,程序不会等待它结束并继续下一步。您的对象:

var parseArray : [Double] = Array() //the array to store the results
var parseResult1 : Double = Double() //the variable to store one of the data points from the parse class
let parseResults = PFObject(className:"parseResults")

是它的函数的本地对象,当你的闭包主体被调用时,你已经从父方法中走了出来,当你从闭包主体退出时,本地对象被销毁,并且它不保存你的解析数据。您需要为您在此处编写的代码创建全局对象,例如全局对象。

关于ios - 尝试将 Parse 中的一行数据提取到 Swift 中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33289698/

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