gpt4 book ai didi

ios - Swift-在UITableView中添加单元格

转载 作者:行者123 更新时间:2023-12-01 19:38:26 25 4
gpt4 key购买 nike

我有一个UITableView,我正在尝试添加一些内容(Whish)。我已经以编程方式设置了所有内容,但是以某种方式添加cells对我来说不起作用。

这是我的UITableView和用于数据的自定义Wish类:

    import UIKit

class WhishlistTableViewController: UITableViewController {

public var wishList : [Wish]?



override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(WhishCell.self, forCellReuseIdentifier: WhishCell.reuseID)
self.wishList?.append(Wish(withWishName: "Test"))

}

// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return wishList?.count ?? 0
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: WhishCell.reuseID, for: indexPath)
let currentWish = self.wishList![indexPath.row]
cell.textLabel?.text = currentWish.wishName
return cell
}

}

class Wish: NSObject {
public var wishName : String?
init(withWishName name: String) {
super.init()
wishName = name
}
}

这就是我在其他 WishlistTableView中创建 UIViewController的方式:
let theTableView: WhishlistTableViewController = {
let v = WhishlistTableViewController()
v.view.layer.masksToBounds = true
v.view.layer.borderColor = UIColor.white.cgColor
v.view.layer.borderWidth = 2.0
v.view.translatesAutoresizingMaskIntoConstraints = false
return v
}()

及其 constraints:
theTableView.view.topAnchor.constraint(equalTo: wishlistView.topAnchor, constant: 180.0),
theTableView.view.bottomAnchor.constraint(equalTo: wishlistView.bottomAnchor, constant: 0),
theTableView.view.leadingAnchor.constraint(equalTo: wishlistView.safeAreaLayoutGuide.leadingAnchor, constant: 30.0),
theTableView.view.trailingAnchor.constraint(equalTo: wishlistView.safeAreaLayoutGuide.trailingAnchor, constant: -30.0),
TableView看起来与 constraints一样好,但是添加 cells无法正常工作,我也不知道为什么。感谢所有帮助:)

最佳答案

更换

public var wishList : [Wish]? 


public var wishList = [Wish]()

由于您从未初始化过 wishList,因此在此处添加项目 wishList?.append不会做任何事情
self.wishList.append(Wish(withWishName: "Test"))

也将其删除,因为它是默认设置
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

关于ios - Swift-在UITableView中添加单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59001979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com