我有以下协议(protocol):
protocol TextViewInputField {
var indexPath: IndexPath? { get set }
var textView: UITextView { get set }
var lblPlaceHolder: UILabel { get set }
func updatePHHiddenState()
}
单元格 TMStyle2Cell
按如下方式实现此协议(protocol):
class TMStyle2Cell: UITableViewCell,TextViewInputField {
@IBOutlet var lblPlaceHolder: UILabel!
@IBOutlet var textView: UITextView!
@IBOutlet var viewSeperator: UIView!
var indexPath: IndexPath?
func updatePHHiddenState() {
}
}
为什么会出现以下错误?
TMStyle2Cell
does not confirm to protocolTextVeiwInputField
.
最佳答案
您协议(protocol)中的类型与您的实现不匹配。你需要:
protocol TextViewInputField {
var indexPath: IndexPath? { get set }
var textView: UITextView! { get set }
var lblPlaceHolder: UILabel! { get set }
func updatePHHiddenState()
}
如果您使用弱 IBOutlets,您还需要包括:
protocol TextViewInputField {
var indexPath: IndexPath? { get set }
weak var textView: UITextView! { get set }
weak var lblPlaceHolder: UILabel! { get set }
func updatePHHiddenState()
}
最后,小问题,但是您的协议(protocol)的 set
部分可能不是必需的。
关于ios - 协议(protocol)实现中的 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518737/