'CustomTableCell' 类型的值没有成员委托
Value of type 'CustomTableCell' has no member delegate
我有一个名为 CustomTableCell 的 UITableViewCell 子类,它在 swift 4.1 中声明。文件。
在我的带有 UITableView 的视图控制器中,我在 cellForRowAt:
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self
我收到以下错误:
Value of type 'CustomTableCell' has no member delegate.
我在顶部声明了 UITableViewDelegate。
UITableViewDelegate 不需要 cell.delegate = self
.
如果您的 CustomTableCell 有您的 Custom Delegate
那么您只需要分配它。因此,如果您的 CustomTableCell
没有蚂蚁 Custom Delegate
,请删除该行。
对于 tableView 委托方法,您必须在 viewDidLoad() 中添加:
yourTableView.delegate = self
yourTableView.dataSource = self
或仅使用 StoryBorad
连接。
答案:如何在 CustomTableCell class 中创建单元格委托?只是好奇
CustomTableCell.swift :
// Custom protocol
protocol CustomCellDelegate: NSObjectProtocol {
// Protocol method
func someFunctionToPassSomeValue(name: String)
}
class CustomTableCell: UITableVieCell {
weak var delegate: CustomCellDelegate?
// Your class implementations and outlets..
//Call your protocol method in some action, for example in button action
@IBAction func buttonAction(sender: UIButton) {
delegate?.someFunctionToPassSomeValue(name: "anyStringValue")
}
}
然后在 ViewController
class 您需要将实例分配给自定义委托变量。
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self
并实现协议方法:
extension ViewController: CustomCellDelegate {
func someFunctionToPassSomeValue(name: String) {
print("Delegate is working. Value : \(name)")
}
}
我有一个名为 CustomTableCell 的 UITableViewCell 子类,它在 swift 4.1 中声明。文件。
在我的带有 UITableView 的视图控制器中,我在 cellForRowAt:
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self
我收到以下错误:
Value of type 'CustomTableCell' has no member delegate.
我在顶部声明了 UITableViewDelegate。
UITableViewDelegate 不需要 cell.delegate = self
.
如果您的 CustomTableCell 有您的 Custom Delegate
那么您只需要分配它。因此,如果您的 CustomTableCell
没有蚂蚁 Custom Delegate
,请删除该行。
对于 tableView 委托方法,您必须在 viewDidLoad() 中添加:
yourTableView.delegate = self
yourTableView.dataSource = self
或仅使用 StoryBorad
连接。
答案:如何在 CustomTableCell class 中创建单元格委托?只是好奇
CustomTableCell.swift :
// Custom protocol
protocol CustomCellDelegate: NSObjectProtocol {
// Protocol method
func someFunctionToPassSomeValue(name: String)
}
class CustomTableCell: UITableVieCell {
weak var delegate: CustomCellDelegate?
// Your class implementations and outlets..
//Call your protocol method in some action, for example in button action
@IBAction func buttonAction(sender: UIButton) {
delegate?.someFunctionToPassSomeValue(name: "anyStringValue")
}
}
然后在 ViewController
class 您需要将实例分配给自定义委托变量。
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self
并实现协议方法:
extension ViewController: CustomCellDelegate {
func someFunctionToPassSomeValue(name: String) {
print("Delegate is working. Value : \(name)")
}
}