【发布时间】:2015-06-12 19:14:24
【问题描述】:
这通常应该简单直接,但我正在努力寻找答案。我希望能够将 objectId 分配给一个数组,所以当我想更新一个列时,我可以使用query.getObjectInBackgroundWithId。我正在执行初始查询并将找到的值分配给字典。不幸的是,当我尝试分配列 objectId 时应用程序崩溃并且我得到 fatal error: unexpectedly found nil while unwrapping an Optional value
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!)")
}
}
)
【问题讨论】:
-
这一行 "let x = array(aColumn1: (object["column1"] as!String), aColumn2: (object["column2"] as!String), aId: (object[" objectId"] as! String))" 正在产生问题。作为对象内的内容 column1 或 column2 结果为 nil 并写为!您正在强制包装 nil 导致崩溃。
-
column1 和 column2 返回一个结果。如果我去掉
aId: (object["objectId"] as! String),程序运行良好且没有错误,它会填充数组。 objectId 生成的问题很奇怪,因为它是为解析中的每个类自动生成的。 -
是的,我知道它是从 parse 自动生成的,您是否使用 includekey 方法来包含该类的对象,就像最初我刚使用 parse 时一样,我忘记添加,然后 objectid 得到 nill .
-
我需要在哪里添加 includekey 方法?
-
query.includeKey("classname")
标签: ios swift parse-platform pfquery objectid