表格视图中未显示数据

时间:2017-01-26 07:34:35

标签: ios iphone swift uitableview

我是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!
    }

}

3 个答案:

答案 0 :(得分:1)

您有三种可能无法获取数据。 首先,您的app数据源设置不正确。 请检查图像

enter image description here

其次,将您的API代码粘贴到viewDidAppear中并检查它是否正常工作

=============重要============

第三,检查您的info.plist是否包含以下代码。 因为无论何时进行互联网呼叫,都应将此代码放入info.plist文件中。

右键单击info.plist并打开源代码

粘贴以下代码

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

尝试运行该应用。 让我知道它是否适合你。

请检查代码click here

的链接

谢谢

Abhishek Sharma

答案 1 :(得分:0)

在viewDidLoad

的顶部试试
self.tableView.delegate = self
self.tableView.dataSource = self

答案 2 :(得分:0)

我可以看到你在视图控制器中使用了tableview。您应该将此tableview的委托和数据源设置为self

在视图控制器中写下这两行:

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

你也可以用XIB做到这一点。

如果您已经完成了该操作或无法正常工作,请尝试打印self.nameArray并检查是否有预期的数据。