gpt4 book ai didi

ios - "[AnyObject]? is not convertible to ' NSArray'

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

这里我有另一个问题。

当我通过我的应用程序编码时,我正在使用 Parse Framework,并且我正在使用查询从数据库中获取用户名:

var showUsername:PFQuery = PFUser.query()!
//showUsername.whereKey("objectId", equalTo: post.objectForKey("user")!.objectId)

showUsername.whereKey("objectId", equalTo: post.objectForKey("user")!)

showUsername.findObjectsInBackgroundWithBlock{
(objects: [AnyObject]?, error: NSError?) -> Void in

if error == nil{
let user:PFUser = (objects as NSArray!).lastObject as! PFUser
cell.usernameLabel.text = user.username
}

}

我在处理这两行代码时遇到了问题:

//showUsername.whereKey("objectId", equalTo: post.objectForKey("user")!.objectId)

这个我已经注释掉了,因为它说 .objectID 是错误的,所以如果我把它去掉,它说没问题。所以我想知道它的功能是否相同???

还有这一行:

let user:PFUser = (objects as NSArray!).lastObject as! PFUser

它在 Xcode 上显示是正确的,但是当我运行该应用程序时,由于显示“[AnyObject]? 不可转换为‘NSArray’”的错误,它因该行代码而卡住并崩溃

有什么方法可以解决这个问题?

我已经尝试过其他链接所说的:

"'[AnyObject]?' is not convertible to 'NSArray' "

"How to set the current user in cell? Swift, Parse "

我的代码没有错误,它运行了,但用户名没有更改为实际用户名,它仍然显示“标签”

除非它与缺少 .objectID 的查询有关?

最佳答案

你问题的第一部分(你注释掉的那一行):

showUsername.whereKey("objectId", equalTo: post.objectForKey("user")!.objectId)

通过添加一个 !如下

showUsername.whereKey("objectId", equalTo: post.objectForKey("user")!.objectId!)

问题的第二部分:

替换

let user:PFUser = (objects as NSArray!).lastObject as! PFUser

通过

let user = (objects as! [PFUser]).last

关于ios - "[AnyObject]? is not convertible to ' NSArray',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863565/

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