Parse.com 错误:无法向关系添加非指针
Posted
技术标签:
【中文标题】Parse.com 错误:无法向关系添加非指针【英文标题】:Parse.com error: can't add a non-pointer to a relation 【发布时间】:2015-07-02 15:57:29 【问题描述】:我有 Messages 类表,表内包含“messageTextColumn”列和“user”列。
这个“用户”列,我用类型指针创建它,目标类是_User,它是解析主类。
我想同时存储用户保存的消息和用户 ID,以便我可以查询它并将其显示在该用户的消息表视图单元格中,该单元格将显示用户在我的应用程序中保存的每条消息的列表。
这是我的代码:
@IBAction func addMessage(sender: AnyObject)
var newMessage = addMessageText.text
let message = PFObject(className: "Messages")
var user = PFUser.currentUser()
message["messageTextColumn"] = newMessage
message["user"] = user
message.saveInBackgroundWithBlock (success: Bool, error: NSError?) -> Void in
if (success)
println("added to Message Class")
println(user)
message.saveInBackground()
else
// Error saving message
问题是当我运行它时,日志显示:
[错误]:无法添加指向关系的非指针(代码:111,版本:1.7.4)
并且消息根本没有保存在 Parse 上,但是当我删除这行代码时:
message["user"] = user
我能够将消息保存到 Parse Messages 类表,但不能保存保存它的用户的用户 ID。
【问题讨论】:
【参考方案1】:在您的代码中,当您说您只想添加用户的对象 ID 时,您正在尝试添加整个用户对象。如果您只想添加用户的对象 ID,则可以执行以下操作:
// ...
message["user"] = PFUser.currentUser().objectId
在您的数据库中,您的user
列将是字符串类型。
如果您确实想将整个用户对象添加为与您的消息对象的关系,那么您可以像以前一样添加用户:
// ...
message["user"] = PFUser.currentUser()
在您的数据库中,您的user
列将是指向_User
的指针类型。
【讨论】:
【参考方案2】:我想通了!这是一个 Swift 语言问题。用 Obj-C 编写查询,它应该可以完美运行!
【讨论】:
用示例代码 sn-p 充实答案将大大有助于使其成为一个好的答案。以上是关于Parse.com 错误:无法向关系添加非指针的主要内容,如果未能解决你的问题,请参考以下文章
添加和查询指针不适用于 Parse.com 的 REST API