尝试查询本地数据存储并将结果放入 NSArray 中



我正在尝试从解析本地数据存储中获取对象(是的,我已经启用了解析本地数据存储)。在我的解析书籍类中,我有一列带有指向用户类的"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]? .

最新更新