Я пытаюсь добавить переменную в свой подкласс TextView, но не могу заставить textViewDidChange работать должным образом, как только я это сделаю, и я думаю, что это потому, что делегат.
Работает без подкласса и печатает itemOrderID. Как я могу заставить это работать с моим пользовательским подклассом?
class textViewSub: UITextView {
var itemOrderID: Double = 0.0
}
class TextviewCell: UITableViewCell, UITextViewDelegate {
@IBOutlet weak var textView: textViewSub!
@IBOutlet weak var textViewLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
textView.delegate = self
}
func textViewDidChange(_ textView: textViewSub) {
let id = textView.tag
let text = textView.text
let itemOrderID = textView.itemOrderID
print(itemOrderID)
}
}
cellForRowAt код:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TextviewCell", for: indexPath) as! TextviewCell
cell.tag = indexPath.row
cell.textView.tag = indexPath.row
cell.textView.itemOrderID = checklistData[indexPath.section].checklistItems?[indexPath.row].itemOrderID ?? 0.0
cell.textView.delegate = cell
return cell
}