2017-01-26 1 views
1

Я новичок в iOS и начал с некоторых уроков. Но когда я пытаюсь отобразить содержимое в tableview, оно не отображается. Я сделал все, как в этом уроке. Но все же я не смог отобразить свой конкатент в моем представлении таблицы.Данные не отображаются в виде таблицы

Вот мой tutoial ссылка: My link

Вот мой код:

import UIKit 
import Alamofire 

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { 

    @IBOutlet weak var tableView: UITableView! 
    var nameArray = [AnyObject]() 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view, typically from a nib. 


     Alamofire.request("http://thecodeeasy.com/test/swiftjson.json").responseJSON { response in 

      let result = response.result 
      if let dict = result.value as? Dictionary<String,AnyObject>{ 
       if let mainDict = dict["actors"] { 
        self.nameArray = mainDict as! [AnyObject] 
        self.tableView.reloadData() 
       } 

      } 


      } 
    } 



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

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

     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath) as? CustomTableViewCell 

     let title = nameArray[indexPath.row]["title"] 
     cell?.ContentName.text = title as? String 
     return cell! 
    } 

} 
+0

он в стремительной 3.0? –

+0

ДА ........... –

+0

Написать Alamofire.request ("http://thecodeeasy.com/test/swiftjson.json") в viewdidappear вместо viewdidload –

ответ

1

Существует три возможности, по которым вы не получаете данные. Во-первых, ваш источник данных приложения установлен неправильно. Пожалуйста, проверьте изображение для этого

enter image description here

Во-вторых, вставьте код API в viewDidAppear и проверить, если он работает или нет

============= Важно == ==========

В-третьих, проверьте, что ваш info.plist содержит следующий код. Потому что всякий раз, когда вы делаете интернет-звонок, вы должны иметь этот код в свой файл info.plist.

правой кнопкой мыши на info.plist и открытым исходным кодом

вставьте следующий код

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Попробуйте запустить приложение. Сообщите мне, если он работает на вас.

Пожалуйста, проверьте ссылку на код click here

Спасибо

Абхишек Шарма

0

Попробуйте это в верхней части viewDidLoad

self.tableView.delegate = self 
self.tableView.dataSource = self 
0

Как я вижу, что вы используете tableview внутри просмотрите контроллер. Вы должны установить делегат и источник данных этого tableview в self.

Запишите эти 2 строки в контроллере представления:

self.tableView.delegate = self 
self.tableView.datasource = self 

Вы можете сделать это с XIB тоже.

Если вы уже сделали то или это не работает, попробуйте распечатать self.nameArray и проверьте, ожидали ли они данные.