当前位置:主页 > bt365体育在线官网 > 正文
  • 您在运行时通过动态语言了解什么?
  • 日期:2019-02-09   点击:   作者:最佳娱乐365bet娱乐   来源:365bet手机开户
您在运行时通过动态语言了解什么?
1. KVC和KVO有什么区别,在什么情况下?
答:KVC(键 - 值编码)KVO(键值观察)指KVC并且当所述对象是通过KVC(键值编码和键 - 值监测)调用KVO。:@ SomeKey],程序尝试以几种不同的方式自动解析此调用。
首先,检查对象是否具有someKey方法。如果找不到,它将继续在对象中搜索实例变量(iVar)。如果找不到,程序将继续尝试 - (id)valueForUndefinedKey:此方法。
如果尚未实现此方法,程序将抛出异??常错误NSUndefinedKeyException。
(钥匙ValueCoding不仅可以找到someKey的方法,方法getsomeKey,还可以找到更多获取或_someKey和_getsomeKey ,.
同时,在搜索实例变量时,它不仅会查找名为someKey的变量,还会检测_someKey变量是否存在。
valueForUndefinedKey:设计方法的主要目的, - 当您使用从对象请求的值(ID)valueForKey方法,是获得最后的其目的是请求错误发生之前回应的机会。
oc在动态运行时语言中意味着什么?
答:多态性。
主要原因是将数据类型决策从编译时延迟到运行时。
与此问题相关的两个问题是执行时间和多态性。
简而言之,运行时机制允许您在运行时确定对象的类,并调用该类对象的规范方法。
多态性:不同的物体被称为以自己的方式对同一消息作出回应多态性能力。
换句话说,生物学(生命)的假设就像人一样。在那之后,人类属于生物,猪属于生命的生物,只是达到了昏迷。每次打电话都是一种吃的方式。
也就是说,不同的对象以自己的方式响应同一个消息(取决于要吃的选择器)。
因此,可以说运行时机制是多态的基础。