在我的项目中,我有一个class
WhishlistTableViewController
,它是UITableViewController
的子类。我正在努力设置其属性。为什么在我的UITableViewController
中不能访问functions
WhishlistTableViewController
?
这是我尝试过的方法,但它只会给我“ Value of type 'WhishlistTableViewController' has no member 'layer'
”错误。
在UIViewController中设置:
let theTableView: WhishlistTableViewController = {
let v = WhishlistTableViewController() // -> error
v.layer.masksToBounds = true // -> error
v.layer.borderColor = UIColor.white.cgColor // -> error
v.layer.borderWidth = 2.0 // -> error
v.translatesAutoresizingMaskIntoConstraints = false // -> error
return v
}()
WhishlistTableViewController:
class WhishlistTableViewController: UITableViewController {
public var wishList : [Wish]?
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(WhishCell.self, forCellReuseIdentifier: WhishCell.reuseID)
}
// 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
}
}
感谢您的帮助:)
最佳答案
实际上,您的WhishlistTableViewController不是UIView,因此您无法直接访问它的图层。
请在下面尝试
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
}()