iOS 协议中的可选属性该如何使用

发布于 2022-09-02 15:10:55 字数 127 浏览 18 评论 0

1.UITextField 实现了UITextInput 协议,可是协议中的属性 selectionAffinity 虽然能调用,却无法正常运行,提示unrecognized selector

2.该如何使用协议中的属性

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

智商已欠费 2022-09-09 15:10:55

1、一般来说,出现unrecognized selector错误是因为该对象没有实现对应方法,所以会报错,(也有可能是野指针导致的),具体你的问题不知道具体情况,不好分析
2、协议中的属性你可以想象成调用set/get方法,其实跟协议方法是一样的

朮生 2022-09-09 15:10:55

协议中的可选属性或方法,一般来说在使用之前,应该判断一下, responseToSelector。但是对于系统内的控件(比如 UITextField)你是可以知道它有没有实现协议的某个属性或者方法的,所以对于确定的事情, 不判断也可以。

selectionAffinity 属性是在 iOS 8 之后引入的,你是在哪个版本的系统下测试的呢?

江心雾 2022-09-09 15:10:55

属性的使用都是点语法就可以了
@property (nonatomic) UITextStorageDirection selectionAffinity;
这样的写法默认是只读 所以会报这个错 unrecognized selector sent to instance ......

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文