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