0

良い一日!私は迅速なプロジェクトでParseを使用しています。今私の問題は、クエリまたはオブジェクトをlocalDataStoreにロードして保存することです。この方法を試しました

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell {

        var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as CustomPFTableViewCell!
        if cell == nil {
            cell = CustomPFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
        }


        // Extract values from the PFObject to display in the table cell
        if let placeName = object?["placeName"] as? String {
            cell.cellName.text = placeName
        }
        if let station = object?["station"] as? String {
            cell.cellDetail.text = station
        }
        if let placeImg = object?["placeImg"] as? String {


            let decodedData = NSData(base64EncodedString: placeImg, options: NSDataBase64DecodingOptions(rawValue: 0))
           // var decodedimage = UIImage(data: decodedData!)
            var finImage = UIImage(data: decodedData!)
            cell.cellBgImg.image = finImage



        }

        PFObject.pinAllInBackground(self.objects, block: { (succeeded, error) -> Void in

            if (error == nil) {
            }else {
                println(error!.userInfo)
            }
        })



        return cell
    }

今私のqueryForTableメソッドで私はこれを持っています

override func queryForTable() -> PFQuery {

        // Start the query object
        var query = PFQuery(className: "Places")

        // Add a where clause if there is a search criteria
        if searchBar.text != "" {
            query.whereKey("filterKeyword", containsString: searchBar.text.lowercaseString)
        }

        // Order the results
        query.orderByAscending("placeName")

        var cReturn = PFQuery()

        if (IJReachability.isConnectedToNetwork()) {

            cReturn = query

        } else {

            cReturn = query.fromLocalDatastore()

        }

        return cReturn
    }

ご覧のとおりReachability、デバイスがインターネットに接続されているかどうかを確認するために使用しています。そうでない場合、クエリが返さquery.fromLocalDataStoreれ、デバイスが接続されている場合はquery、最新のデータを取得するために通常どおり返されます。

さて、私の問題は、インターネットをオフにしてテストするときに、メソッド'Method requires Pinning enabled.'で既に行ったエラーが表示されることですtableView

PFObject.pinAllInBackground(self.objects, block: { (succeeded, error) -> Void in

            if (error == nil) {
            }else {
                println(error!.userInfo)
            }
        })

私が何を間違えたと思いますか?ありがとう!

4

1 に答える 1

0

objectsDidLoad()メソッド内ではなく、メソッド内にオブジェクトを固定するメソッドを配置する必要があると思いますcellForRowAtindexPath()

于 2015-07-09T13:24:04.803 に答える