下午好!
对不起我的英语。
我在尝试将 textView 的委托(delegate)分配给另一个类时遇到问题。
- 我在 Storyboard中有一个 CommentsViewController 和一个 ViewController 与之相连。
- 我在 ViewController 上有一个 UITextView 元素(在 Storyboard中)和 CommentsViewController 的导出(称为 newCommentTextView)。
- 我创建了一个 CommentTextViewDelegate 类:NSObject、UITextViewDelegate。
我在 CommentsViewController 的 viewDidLoad 中完成了这个
newCommentTextView.delegate = CommentTextViewDelegate()
我添加了 textViewDidChange、textViewDidEndEditing 和 _:shouldChangeTextInRange:...。但是,当我更改 textView 的文本时,这些函数都没有被调用!
我怎么了? 谢谢。
最佳答案
newCommentTextView.delegate = CommentTextViewDelegate()
有一个错误。调用 viewDidLoad() 后,CommentTextViewDelegate 的实例已经被释放。所以 CommentsViewController 应该拥有 CommentTextViewDelegate
。
let textViewDelegate = CommentTextViewDelegate()
func viewDidLoad() {
newCommentTextView.delegate = textViewDelegate
}
关于另一个文件中的 iOS UITextView 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38997355/