Parse.com error: can't add a non-pointer to a relation
Parse.com error: can't add a non-pointer to a relation
我有消息 class table 并且在 table 中包含 "messageTextColumn" 列和 "user" 列。
这个 "user" 专栏,我用指针类型创建它,目标 class 是 _User,它是 parse main class.
我想存储用户保存的消息和 userId,以便我可以查询它并在该用户的消息中显示它 table查看单元格将显示用户保存的每条消息的列表我的应用程序。
这是我的代码:
@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
}
}
}
问题是当我运行这个时,日志显示:
[Error]: can't add a non-pointer to a relation (Code: 111, Version: 1.7.4)
并且消息根本没有保存在 Parse 上,但是当我删除这行代码时:
message["user"] = user
我能够将消息保存到 Parse Messages class table 但不能保存它的用户的用户 ID。
在您的代码中,当您说您只想添加用户的对象 ID 时,您正试图添加整个用户对象。如果您只想添加用户的对象 ID,那么您可以执行以下操作:
// ...
message["user"] = PFUser.currentUser().objectId
并且在您的数据库中,您的 user
列将是字符串类型。
如果您真的想将整个用户对象添加为与您的消息对象的关系,那么您将像您所做的那样添加用户:
// ...
message["user"] = PFUser.currentUser()
并且在您的数据库中,您的 user
列将是指向 _User
的指针类型。
我想通了!这是一个 Swift 语言问题。在 Obj-C 中编写查询,它应该可以完美运行!
我有消息 class table 并且在 table 中包含 "messageTextColumn" 列和 "user" 列。
这个 "user" 专栏,我用指针类型创建它,目标 class 是 _User,它是 parse main class.
我想存储用户保存的消息和 userId,以便我可以查询它并在该用户的消息中显示它 table查看单元格将显示用户保存的每条消息的列表我的应用程序。
这是我的代码:
@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
}
}
}
问题是当我运行这个时,日志显示:
[Error]: can't add a non-pointer to a relation (Code: 111, Version: 1.7.4)
并且消息根本没有保存在 Parse 上,但是当我删除这行代码时:
message["user"] = user
我能够将消息保存到 Parse Messages class table 但不能保存它的用户的用户 ID。
在您的代码中,当您说您只想添加用户的对象 ID 时,您正试图添加整个用户对象。如果您只想添加用户的对象 ID,那么您可以执行以下操作:
// ...
message["user"] = PFUser.currentUser().objectId
并且在您的数据库中,您的 user
列将是字符串类型。
如果您真的想将整个用户对象添加为与您的消息对象的关系,那么您将像您所做的那样添加用户:
// ...
message["user"] = PFUser.currentUser()
并且在您的数据库中,您的 user
列将是指向 _User
的指针类型。
我想通了!这是一个 Swift 语言问题。在 Obj-C 中编写查询,它应该可以完美运行!