iphone – UITextView作为自己的委托意味着无限循环

iphone – UITextView作为自己的委托意味着无限循环,第1张

概述我有一个UITextView的子类,我想让它成为自己的委托.这样我就可以覆盖textView:shouldChangeTextInRange:replacementText:方法,并防止输入连续的空格. 在[SATextView awakeFromNib](SATextView是我的UITextView的子类)中,我做[self setDelegate:self] ;.当我按下textview开始 我有一个UITextVIEw的子类,我想让它成为自己的委托.这样我就可以覆盖textVIEw:shouldChangeTextInRange:replacementText:方法,并防止输入连续的空格.

在[SATextVIEw awakeFromNib](SATextVIEw是我的UITextVIEw的子类)中,我做[self setDelegate:self] ;.当我按下textvIEw开始编辑时,所有内容都冻结并最终停止,并且该回溯显示存在无限循环.

如果我实现所有委托方法,只有一个或没有,这没关系.如果这些方法是空的也没关系.

为什么会导致无限循环?只有使用UITextVIEw(其他对象可以子类化并将委托设置为self,并且它不会出现此问题),似乎只会发生这种情况.我怎么能阻止它?或者是否有更好的方法让这个子类不能有连续的空格,

解决方法 一个想法……你可以创建一个委托类,作为真正的委托和UITextVIEw之间的中间人(因为你可能需要在一段时间后设置委托).所以这个新类将实现委托协议,但它也有一个属性为它自己的委托,这样你就可以转发textVIEw:shouldChangeTextInRange:replacementText:,并且仍然可以在mIDdleMan类中编辑空间. 总结

以上是内存溢出为你收集整理的iphone – UITextView作为自己的委托意味着无限循环全部内容,希望文章能够帮你解决iphone – UITextView作为自己的委托意味着无限循环所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1081944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存