2017-01-27 8 views
0

Я создал контроллер табличного представления для объекта запросов облаков, код идет хорошо, но проблема в том, что когда запрос анализа синтаксиса просмотра не отображается в таблице.Запрос таблицы Parse не отображается

Я попробовал некоторое решение, но большинство решений предназначено для класса USER не для каких-либо других пользовательских классов.

@IBOutlet weak var cloudsTable: UITableView! 

var clouds: [PFObject] = [PFObject]() 

func loadClouds() { 

    let cloudsQuery = PFQuery(className: "_Clouds") 
    cloudsQuery.order(byAscending: "createdAt") 

    cloudsQuery.findObjectsInBackground(block: { (result, error) in 


     if error == nil 
     { 
      self.clouds = result! 
      self.cloudsTable.reloadData() 
      print(self.clouds) 
     } 
    }) 
} 

Эта функция предназначена для вызова класса Clouds для получения значений для просмотра

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

     return clouds.count 

    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cloudsCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 

     let userObject:PFObject = clouds[indexPath.row] 

     cloudsCell.textLabel?.text = userObject.object(forKey: "user") as? String 

     return cloudsCell 

    } 

Это для прохождения синтаксического анализа запросов к функциям таблицы.

+0

ли '' cloudsTable.delegate' & cloudsTable.datasource' установить? Вы должны называть 'reloadData()' в основном потоке. – Larme

+0

@ Larme Нет, я не установил их, вы имеете в виду, что мне нужно установить cloudsTable.delegate и cloudsTable.datasource на подкласс? или на вид загрузилась функция? – user2508528

+0

Если вы используете раскадровку, вы можете сделать это там. – Larme

ответ

0

Выполните следующие действия. Я немного изменил код.

Убедитесь, что у вас установлены delegate и datasource. В вашем случае к вашей облачной розетке.

enter image description here

@IBOutlet weak var cloudsTable: UITableView! 

var clouds = [PFObject]() 

override func viewDidLoad() { 
     super.viewDidLoad() 
      loadClouds() 
} 

func loadClouds() { 
     clouds.removeAll() 
     let cloudsQuery = PFQuery(className: "Clouds") //Make sure class name is correct 
     cloudsQuery.order(byAscending: "createdAt") 
     cloudsQuery.findObjectsInBackground(block: { (result, error) in 
      if error == nil 
      { 
       self.clouds = result! 
       self.cloudsTable.reloadData() 
       print(self.clouds) 
      } 
     }) 
} 
func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
} 


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return clouds.count 

} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cloudsCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 

      var recClass = PFObject(className: "Clouds") 
       recClass = clouds[(indexPath as NSIndexPath).row] 

       cloudsCell.textLabel?.text = recClass["user"] as? String 

       return cloudsCell 
} 
+0

У меня все еще такая же ошибка, здесь сообщение об ошибке: Недопустимое имя класса: _Clouds, имена классов могут иметь только буквенно-цифровые символы и _ и должны начинаться с альфа-символа (код: 103, Версия: 1.14.2) Error Domain = Parse Code = 103 «Недопустимое имя класса: _Clouds, имена классов могут иметь только буквенно-цифровые символы и _ и должны начинаться с символа« UserInfo = {code = 103, tempor = 0, error = Недопустимое имя класса: _Clouds, имена классов могут иметь только буквенно-цифровые символы и _ и должны начинаться с альфа-символа – user2508528

+0

. Это потому, что имя класса неверно! Я прокомментировал его в коде для лет u проверить. – Cliffordwh

+0

должны быть только облаками. Но вернитесь к scheama, чтобы убедиться, что – Cliffordwh

0

Я хотел бы использовать PFQueryTableViewController для загрузки синтаксического анализа данных запроса в таблицу. Parse понимает, что запрос и загрузка данных в таблицу является популярной функцией, и они создали очень простой класс, который обрабатывает это. Ознакомьтесь с приведенным ниже руководством и найдите PFQueryTableViewController. Он обрабатывает все: от загрузки/перезагрузки/кэширования данных, поэтому стоит посмотреть. Если у вас есть вопросы о том, как его реализовать, сообщите мне.

https://parseplatform.github.io/docs/ios/guide/

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

  • Нет связанных вопросов^_^