gpt4 book ai didi

ios - 由于 Swift 中的空值,For 循环未执行

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

在StackOverFlow上看了很多关于这件事的问题,还是没能解决问题。问题是循环事件没有在下面的代码中运行。我认为这是由于空值造成的。我创建了一个名为“function”的函数,并在 Parse 中查询我的类中的对象。我查询的所有这些对象都保存在 HelperClass 的属性 events 中。然后,我正在执行 for 循环添加 event.numberOfViews 以对数组中的所有数字求和。我正在调试代码,显然 events 数组是空的。我不明白,因为我只是将值放在 evetns 数组中。把招工广告!谢谢

class ViewController: UIViewController {
HelperClass().function()
}


class HelperClass: NSObject {
var events: [Event] = []
var sumOfView: Double?

func function() {
let eventQuery = PFQuery(className: "Event")
eventQuery.limit = 1000
eventQuery.findObjectsInBackgroundWithBlock { (result: [AnyObject]?, error: NSError?) -> Void in
if (error == nil) {
self.events = result as? [Event] ?? []
} else {
println("Error is \(error)")
}
}

for event in events {
array.append(event.numberOfViews)
}
sumOfView = array.reduce(0) {return $0! + $1}
}
}

最佳答案

findObjectsInBackgroundWithBlock 在另一个线程上执行。如果您想对事件执行 for 循环,则需要将其移动到 if 语句中。

if (error == nil) {
self.events = result as? [Event] ?? []
// perform for loop here
} else {
println("Error is \(error)")
}

关于ios - 由于 Swift 中的空值,For 循环未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643571/

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