gpt4 book ai didi

ios - 使用 Parse 方法 getObjectInBackgroundWithId 将 objectId 从 viewDidLoad 传递到另一个函数不起作用

转载 作者:行者123 更新时间:2023-11-29 01:42:40 24 4
gpt4 key购买 nike

我是 Parse 和 Swift 的初学者。我需要在同一 Controller 内的另一个函数中更新我的 viewDidLoad 中引用的对象。如何传递当前加载对象的 objectId 而不必像这样对其进行硬编码:

query.getObjectInBackgroundWithId("8DkYgraEJq") 

这是我的 viewDidLoad 函数:

    override func viewDidLoad() {
var query = PFQuery(className: "CheckedBaggage")
query.orderByAscending("createdAt")
query.whereKey("respondedTo", notEqualTo: true)
query.getFirstObjectInBackgroundWithBlock {
(CheckedBaggage: PFObject!, error: NSError!) -> Void in
if error != nil {
println("The getFirstObject request failed.")
} else {
// The find succeeded.

self.randomBaggageLabel.text = CheckedBaggage.objectForKey("message") as? NSString
CheckedBaggage.save()

println(CheckedBaggage.objectId)

let baggageId = CheckedBaggage.objectId

println("Successfully retrieved the object.")
}
}

我想尝试将变量 baggageId 传递给 carryIt 函数中的 getObjectInBackgroundWithId block ,它应该是字符串形式的对象 ID:

    @IBAction func carryIt(sender: AnyObject!) {
println("CarryIt is being called")
var query = PFQuery(className: "CheckedBaggage")
query.getObjectInBackgroundWithId(baggageId) {
(CheckedBaggage: PFObject?, error: NSError?) -> Void in
if error != nil {
println(error)
} else if let CheckedBaggage = CheckedBaggage {
println("object hello!")
CheckedBaggage["respondedTo"] = true
CheckedBaggage["response"] = self.kindnessMessage.text
CheckedBaggage.save()
}
}
}

但我收到“未解析的标识符”错误。如果我对对象 ID 进行硬编码,它可以完美地更新我的 Parse 数据库,但我不能这样做。这是错误的屏幕截图:Parse error

非常感谢您的帮助!

最佳答案

您必须初始化 baggageId。要在多个函数中使用它,它必须像评论所说的那样在类级别范围内。要在声明后设置它,它必须是一个“var”,而不是一个常量“let”。

var baggageId = ""
func viewDidload() {
var query = ...
query.get... {
baggageId = CheckedBaggege.objectId
}

}

func shipIt() {
var query = ...
query.getObjectWithId(baggageId) ...
}

关于ios - 使用 Parse 方法 getObjectInBackgroundWithId 将 objectId 从 viewDidLoad 传递到另一个函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32235909/

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