我正在尝试从解析本地数据存储中获取对象(是的,我已经启用了解析本地数据存储)。在我的解析书籍类中,我有一列带有指向用户类的"user"指针。
var bookObjects: NSMutableArray! = NSMutableArray()
下面的方法放在视图加载之后。
func fetchAllObjectsFromLocalDatastore(){
var query: PFQuery = PFQuery(className: "Books")
query.fromLocalDatastore()
query.whereKey("user", equalTo: PFUser.currentUser()!)
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if(error == nil){
var temp: NSArray = objects as NSArray
self.bookObjects = temp.mutableCopy() as! NSMutableArray
self.tableView.reloadData()
} else {
println(error)
}
}
}
我在
var temp: NSArray = objects as NSArray
它说:
[AnyObject]? is not convertible to NSArray
在它后面的行中,我将其转换为 NSMutableArray,由于临时变量错误,我必须使用 !
。
那么我在这里错过了什么?
除非有特定的其他原因,否则您应该声明您的 temp
数组以使用本机 swift Array
类型而不是 NSArray
,就像这样
var temp: [AnyObject] = objects!
这应该立即工作,因为对象类型为 [AnyObject]?
.