gpt4 book ai didi

ios - 解析 iOS SDK 1.8.5 导致 try throw & PFObject 条件转换错误

转载 作者:可可西里 更新时间:2023-11-01 01:38:48 26 4
gpt4 key购买 nike

更新到最新的 Parse SDK 1.8.5 后,我收到关于 findObjectsInBackgroundWithBlock 函数的两个错误。同一行返回两个错误:

if let objects = query.findObjects() as? [PFObject]

我曾尝试将其更改为 as [PFObject]? 但没有成功。报错如下:

调用可以抛出,但是没有标上'try',错误没有被处理AND 从“[PFObject]”到“[PFObject]”的条件转换总是成功

query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {

if let objects = query.findObjects() as? [PFObject] {

for object in objects {

object.deleteInBackgroundWithBlock{ (success, error) -> Void in
if (success) {
print("Worked")
print(objects.count)
self.viewDidAppear(true)

} else {
}
}

我研究了类似的问题,并尝试将其修复为 query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in 但这也没有做任何事情。

我不确定如何修复这些错误中的任何一个,并且对于它们突然弹出的原因感到非常困惑。我的所有功能都运行完美,并且已经运行了数周,突然间这些错误出现了。

改变它:

if let objects = query.findObjects() as? [PFObject]

if let objects = objects as [PFObject]?

似乎解决了问题,但我不确定它现在是否能正常运行。

对于其他有同样错误的行,XCode建议修改为:

self.rooms = (results as [PFObject]?)!

这消除了错误。我是 Swift 编码的新手,所以我不确定到底发生了什么,如果有人有任何见解?

最佳答案

使用 findObjects() 在新的更新中变得更加困难。这是因为在 Xcode 7 和 Swift 2 中,Swift 在处理错误方面变得更好,Parse 利用这些新方法允许 findObjects() 抛出错误。处理错误并提供其他代码以在出现此类错误时运行将是您的工作。除了这些新要求之外,findObjects() 会同步运行,这会降低您的应用程序的速度。您应该使用异步运行的 findObjectsInBackground()。这将解决您的两个问题。如果你需要帮助实现这个功能,网上有很多文档和问题/答案。

关于ios - 解析 iOS SDK 1.8.5 导致 try throw & PFObject 条件转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893139/

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