iOS 另一个文件中的 UITextView 委托
iOS UITextView delegate in another file
下午好!
对不起我的英语。
我在尝试将 textView 的委托分配给另一个 class 时遇到问题。
- 我在故事板中有一个 CommentsViewController 和一个 ViewController 与之相连。
- 我在 ViewController(在故事板中)上有一个 UITextView 元素和 CommentsViewController 的出口(称为 newCommentTextView)。
- 我创建了一个 class CommentTextViewDelegate:NSObject,UITextViewDelegate。
在评论ViewController的viewDidLoad中我做到了
newCommentTextView.delegate = CommentTextViewDelegate()
我添加了 textViewDidChange、textViewDidEndEditing 和 _:shouldChangeTextInRange:...。但是当我更改 textView 的文本时,这些函数中的 none 被调用了!
我怎么了?
谢谢。
委托是一个弱指针。因此,您需要将 CommentTextViewDelegate class 设为 属性,然后按照以下代码将其分配给文本视图委托。在此之后,只要发生任何更改,您都会收到通知。
let textViewDelegate = CommentTextViewDelegate()
func viewDidLoad() {
newCommentTextView.delegate = textViewDelegate
}
newCommentTextView.delegate = CommentTextViewDelegate()
有一个 error.The CommentTextViewDelegate 实例已在 viewDidLoad() called.So 之后被释放 CommentsViewController 应该拥有 CommentTextViewDelegate
.
let textViewDelegate = CommentTextViewDelegate()
func viewDidLoad() {
newCommentTextView.delegate = textViewDelegate
}
下午好!
对不起我的英语。
我在尝试将 textView 的委托分配给另一个 class 时遇到问题。
- 我在故事板中有一个 CommentsViewController 和一个 ViewController 与之相连。
- 我在 ViewController(在故事板中)上有一个 UITextView 元素和 CommentsViewController 的出口(称为 newCommentTextView)。
- 我创建了一个 class CommentTextViewDelegate:NSObject,UITextViewDelegate。
在评论ViewController的viewDidLoad中我做到了
newCommentTextView.delegate = CommentTextViewDelegate()
我添加了 textViewDidChange、textViewDidEndEditing 和 _:shouldChangeTextInRange:...。但是当我更改 textView 的文本时,这些函数中的 none 被调用了!
我怎么了? 谢谢。
委托是一个弱指针。因此,您需要将 CommentTextViewDelegate class 设为 属性,然后按照以下代码将其分配给文本视图委托。在此之后,只要发生任何更改,您都会收到通知。
let textViewDelegate = CommentTextViewDelegate()
func viewDidLoad() {
newCommentTextView.delegate = textViewDelegate
}
newCommentTextView.delegate = CommentTextViewDelegate()
有一个 error.The CommentTextViewDelegate 实例已在 viewDidLoad() called.So 之后被释放 CommentsViewController 应该拥有 CommentTextViewDelegate
.
let textViewDelegate = CommentTextViewDelegate()
func viewDidLoad() {
newCommentTextView.delegate = textViewDelegate
}