Ios 如何使用来自WS-Server的数组填充水平可滚动UITableView?

Ios 如何使用来自WS-Server的数组填充水平可滚动UITableView?,ios,arrays,swift,rest,uicollectionview,Ios,Arrays,Swift,Rest,Uicollectionview,我以前从未使用过水平滚动表视图,所以我不知道如何像使用垂直滚动表视图那样从RESTAPI填充。我在这里找到了一个例子: '' 使用硬编码数据,但当我使用WS中的数据时,表格单元格不会显示任何内容 这是我的代码(是最重要的类,因为它符合TableCell,在本例中是一个位于CollectionView内部的单元格,这是我调用RESTAPI的地方): CollectionViewCell只有一个标签: import UIKit class VideoCell : UICollectionViewC

我以前从未使用过水平滚动表视图,所以我不知道如何像使用垂直滚动表视图那样从RESTAPI填充。我在这里找到了一个例子:

''

使用硬编码数据,但当我使用WS中的数据时,表格单元格不会显示任何内容

这是我的代码(是最重要的类,因为它符合TableCell,在本例中是一个位于CollectionView内部的单元格,这是我调用RESTAPI的地方):

CollectionViewCell只有一个标签:

import UIKit

class VideoCell : UICollectionViewCell {

    @IBOutlet weak var name: UILabel!
}
最后,我有了一个ViewController,其中调用RESTAPI的方法在ViewDidLoad()上实现:

故事板是这样的:

最后,这是应用程序显示的内容(无):


如下图所示,应用程序返回的WS-array是正确的,因此这不是问题所在。另一件奇怪的事情是,单元格的背景显示为黑色,而它本应为红色。

在网络请求完成中设置
self.collectionView.reloadData()
后,尝试调用
self.purchases
。为什么在视图(而不是控制器)中进行API调用?为什么要将控制器中的tableviewcell保存为全局变量?因为tableviewcell的内容在de API中
import UIKit

class VideoCell : UICollectionViewCell {

    @IBOutlet weak var name: UILabel!
}
class ViewController: UIViewController {
    var categories = ["Action", "Drama", "Science Fiction", "Kids", "Horror"]

    var categoryRow = CategoryRow()

    override func viewDidLoad() {
        super.viewDidLoad()
        categoryRow.getPurchases(categoryRow.getUserData as NSDictionary)

    }

}

extension ViewController : UITableViewDelegate { }

extension ViewController : UITableViewDataSource {

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return categories[section]
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CategoryRow
        return cell
    }

}