This should normally be easy and straight forward but I'm struggling to find an answer. I want to be able to assign the objectId to an array so when I want to update a column I can use query.getObjectInBackgroundWithId
. I'm performing the initial query and assigning the values found to a dictionary. Unfortunately the app crashes when I try to assign the column objectId and I get 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!)")
}
}
)
Try to create your array like this:
But seems more like you want a dictionary instead, if that is the case you can try this: