iOS 协议中的可选属性该如何使用
1.UITextField 实现了UITextInput 协议,可是协议中的属性 selectionAffinity 虽然能调用,却无法正常运行,提示unrecognized selector
2.该如何使用协议中的属性
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
1.UITextField 实现了UITextInput 协议,可是协议中的属性 selectionAffinity 虽然能调用,却无法正常运行,提示unrecognized selector
2.该如何使用协议中的属性
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
1、一般来说,出现unrecognized selector错误是因为该对象没有实现对应方法,所以会报错,(也有可能是野指针导致的),具体你的问题不知道具体情况,不好分析
2、协议中的属性你可以想象成调用set/get方法,其实跟协议方法是一样的
协议中的可选属性或方法,一般来说在使用之前,应该判断一下, responseToSelector。但是对于系统内的控件(比如 UITextField)你是可以知道它有没有实现协议的某个属性或者方法的,所以对于确定的事情, 不判断也可以。
selectionAffinity 属性是在 iOS 8 之后引入的,你是在哪个版本的系统下测试的呢?
属性的使用都是点语法就可以了
@property (nonatomic) UITextStorageDirection selectionAffinity;
这样的写法默认是只读 所以会报这个错 unrecognized selector sent to instance ......