将 PFPointer 保存在变量中
Save PFPointer in a variable
我在尝试将 objectId 保存在变量上然后使用此变量通过指针进行查询时遇到了一些问题。
我有以下代码:
var currentObject : PFObject?
var objId : NSString?
override func viewDidLoad() {
super.viewDidLoad()
if let object = currentObject? {
subjectName.text = object["name"] as? String
roomLabel.text = object["room"] as? String
teacherLabel.text = object["teacher"] as? String
}
var query = PFQuery(className:"Calendar")
query.whereKey("subjectId", equalTo: objId)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// The find succeeded.
NSLog("Successfully retrieved \(objects.count) scores.")
// Do something with the found objects
for object in objects {
NSLog("%@", object.objectId)
}
} else {
// Log details of the failure
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
// Do any additional setup after loading the view.
}
代码本身是在某些标签上显示某个对象的内容。
我想将对象 ID 保存在 objId 变量中。
似乎没有错误,但是当我 运行 代码时,我得到以下错误:
错误="pointer field subjectId needs a pointer value";
我做错了什么?
subjectId
是一个指针,但查询正在针对字符串测试它。 (这不是一个令人惊讶的错误,因为该变量的命名具有误导性......以 Id
作为后缀,我们希望它是一个字符串。subjectPointer
将是一个更好的后缀)。
要修复,请使用 objectWithoutDataWithClassName:objectId 将 id 变成指针。使用 objId
作为 objectId,class 名称是包含具有该 ID 的对象的 table 的名称(希望您的 table 被命名为 "Subject").
编辑 - 这是我在 swift 上的最佳表现(也不是我的语言)
let pointer = PFObject(withoutDataWithClassName:"Subject" objectId:objId)
query.whereKey("subjectId", equalTo:pointer)
我使用"Subject"作为table名称,但您必须将其替换为包含id为objId的对象的table的真实名称。
我在尝试将 objectId 保存在变量上然后使用此变量通过指针进行查询时遇到了一些问题。
我有以下代码:
var currentObject : PFObject?
var objId : NSString?
override func viewDidLoad() {
super.viewDidLoad()
if let object = currentObject? {
subjectName.text = object["name"] as? String
roomLabel.text = object["room"] as? String
teacherLabel.text = object["teacher"] as? String
}
var query = PFQuery(className:"Calendar")
query.whereKey("subjectId", equalTo: objId)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// The find succeeded.
NSLog("Successfully retrieved \(objects.count) scores.")
// Do something with the found objects
for object in objects {
NSLog("%@", object.objectId)
}
} else {
// Log details of the failure
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
// Do any additional setup after loading the view.
}
代码本身是在某些标签上显示某个对象的内容。 我想将对象 ID 保存在 objId 变量中。 似乎没有错误,但是当我 运行 代码时,我得到以下错误:
错误="pointer field subjectId needs a pointer value";
我做错了什么?
subjectId
是一个指针,但查询正在针对字符串测试它。 (这不是一个令人惊讶的错误,因为该变量的命名具有误导性......以 Id
作为后缀,我们希望它是一个字符串。subjectPointer
将是一个更好的后缀)。
要修复,请使用 objectWithoutDataWithClassName:objectId 将 id 变成指针。使用 objId
作为 objectId,class 名称是包含具有该 ID 的对象的 table 的名称(希望您的 table 被命名为 "Subject").
编辑 - 这是我在 swift 上的最佳表现(也不是我的语言)
let pointer = PFObject(withoutDataWithClassName:"Subject" objectId:objId)
query.whereKey("subjectId", equalTo:pointer)
我使用"Subject"作为table名称,但您必须将其替换为包含id为objId的对象的table的真实名称。