這應該通常很容易和直接,但我努力尋找答案。我希望能夠將objectId分配給數組,因此當我想更新列時,我可以使用query.getObjectInBackgroundWithId
。我正在執行初始查詢並將找到的值分配給字典。不幸的是,應用程序崩潰,當我嘗試分配列OBJECTID和我fatal error: unexpectedly found nil while unwrapping an Optional value
Parse.com查詢返回零對象和崩潰的應用程序
var query = PFQuery(className:"classname")
query.whereKey("available", equalTo:true)
query.findObjectsInBackgroundWithBlock({
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
println("Successfully retrieved \(objects!.count)")
if let objects = objects as? [PFObject] {
for object in objects {
let x = dict(aColumn1: (object["column1"] as! String), aColumn2: (object["column2"] as! String), aId: (object["objectId"] as! String))
dictArr.append(x)
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
)
這一行 「令x =陣列(aColumn1:(對象[」 列1 「]作爲字符串),aColumn2:(對象![」 列2" ]作爲字符串), aId:(object [「objectId」] as!String))「是通用的問題。因爲列1或列2的對象內的內容結果爲零,並寫爲!你迫使包裝零,導致崩潰。 –
column1和column2返回結果。如果我擺脫了'aId:(object [「objectId」] as!String)',程序運行正常,沒有錯誤並且它填充數組。 objectId生成的問題很奇怪,因爲它是爲解析中的每個類自動生成的。 –
是的,我知道它是從解析中自動生成的,你是否在使用includekey方法來包含該類的對象,就像我最初在解析時新添加的那樣,我忘記添加,然後對objectid變得不適用。 –