gpt4 book ai didi

ios - 不能对 PFObject 上的键或值使用 nil。使用 NSNull 作为值

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

当我尝试将 Parse objectId 保存为 User 类的指针值时出现以下错误:不能对 PFObject 上的键或值使用 nil。使用 NSNull 作为值。

我有一个显示头像列表的 UICollectionView(Parse 中的头像类)。当用户在列表中选择头像时,我想使用指针值将该用户的头像设置为所选图像。

    override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print(self.avatars[indexPath.row])

self.user["avatar"] = self.avatars[indexPath.row]["objectId"]

self.performSegueWithIdentifier("returnToProfile", sender: user)
}

}

用户具有指向 Avatar 类的指针列。试图将 Avatar objectId 放入 User 表的列中,但我一直收到错误消息。奇怪的是 print(self.avatars[indexPath.row]) 返回以下内容:

<Avatar: 0x7f8ebb835c80, objectId: WG7L0KpdJ2, localId: (null)> {
file = "<PFFile: 0x7f8ebb837dc0>";
name = man;
}

objectId 存在,但如果我尝试使用 print(self.avatars[indexPath.row]["objectId") 进行打印,我会得到 nil。

我做错了什么?

谢谢!

编辑:更新代码:

let user = PFUser.currentUser()

user!["avatar"] = self.avatars[indexPath.row].objectId

do {
print(self.avatars[indexPath.row].objectId)
try user?.save()
} catch {
print(error)
}

print 语句打印出正确的 objectId。但是,将其保存给用户会导致错误 invalid type for key avatar, expected *Avatar, but got string"UserInfo={code=111, temporary=0, error

编辑 2:指针不保存 objectId。您必须保存整个对象。刚刚弄明白了。这是现在可以使用的更新代码。感谢大家的帮助!!

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {

self.user["avatar"] = self.avatars[indexPath.row]

do {
try self.user.save()
} catch {
print(error)
}

self.performSegueWithIdentifier("returnToProfile", sender: user)
}

}

最佳答案

访问ID:self.user["avatar"] = self.avatars[indexPath.row].objectId

在这种情况下,objectId 是对象的一个​​属性,而不是它的字典下标值之一。

关于ios - 不能对 PFObject 上的键或值使用 nil。使用 NSNull 作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35612634/

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