0

Добрый день! Я использую Разбор в моем быстром проекте, теперь моя проблема загрузки и сохранения запроса или объекты в localDataStore, я попробовал этот методSwift - Parse PFQueryTableViewController Ошибка при загрузке 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) 
      } 
     }) 

Что вы думаете, что я сделал не так? Благодаря!

ответ

0

Я думаю, вы должны поместить метод, в котором вы связываете объекты внутри своего метода objectsDidLoad(), а не в методе cellForRowAtindexPath().

+0

Я сделал то, что вы сказали, но у меня все еще такая же ошибка. –

+0

@LEVISOGCPAS обновил мой ответ, попробуйте 'objectsDidLoad' – pbush25

+0

Yup, Still same :( –

Смежные вопросы