gpt4 book ai didi

pointers - 将 PFPointer 保存在变量中

转载 作者:行者123 更新时间:2023-11-30 10:18:57 24 4
gpt4 key购买 nike

我在尝试将 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 变量中。似乎没有错误,但当我运行代码时,出现以下错误:

error = "指针字段 subjectId 需要一个指针值";

我做错了什么?

最佳答案

subjectId 是一个指针,但查询正在针对字符串测试它。 (这并不是一个令人惊讶的错误,因为该变量的命名具有误导性......以 Id 作为后缀,我们期望它是一个字符串。subjectPointer 会是一个更好的后缀) .

要修复此问题,请使用 objectWithoutDataWithClassName:objectId 将 id 转换为指针。使用 objId 作为 objectId,类名是包含具有该 id 的对象的表的名称(希望您的表的名称类似于“Subject”)。

编辑 - 这是我对 swift 的最佳尝试(也不是我的语言)

let pointer = PFObject(withoutDataWithClassName:"Subject" objectId:objId)
query.whereKey("subjectId", equalTo:pointer)

我使用“Subject”作为表名,但您必须将其替换为包含 id 为 objId 的对象的表的真实名称。

关于pointers - 将 PFPointer 保存在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418487/

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