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

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

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

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


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


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


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

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

【热门文章】
【热门文章】