判断对象是否遵守某个协议、方法

//判断对象是否遵守某个协议

if([stu conformsToProtocol:@protocol(Study)]) {

NSLog(@"Student遵守了Study这个协议");

}

//判断对象是否实现某个方法

if([stu respondsToSelector:@selector(test)]) {

NSLog(@"Student实现了test这个方法");

}

时间: 2024-10-08 16:14:30

判断对象是否遵守某个协议、方法的相关文章

判断代理是否实现了协议方法

1 // 3.1 判断代理是否实现了协议方法 2 if ([self.delegate respondsToSelector:@selector(tgFooterViewDidDownloadButtonClick:)]) { 3 [self.delegate tgFooterViewDidDownloadButtonClick:self]; 4 } // 代理如果使用强引用,就会产生循环引用,造成控制器和子视图都无法被释放,造成内存泄露 @property (nonatomic, weak)

判断对象属性的几种方法

function Person() { this.name = 'Lee'; this.age = 20; this.sayName = function() {console.log(this.name)}; } Person.prototype.height = 180; var p = new Person(); 判断属性 hasOwnProperty(property_name) 检测一个属性书否存在于实例中,如果是则返回true. p.hasOwnProperty("name"

javascript判断对象是否为空

JavaScript是一种弱类型的脚本语言,在开发中经常会因为语法不严谨而出现一些错误. 下面的方法是判断对象是否为空的方法,包括对 null.undefind.空字符等类型. //判断是否为空 为空返回 false 不为空返回true function isNotEmpty(_value) { return ((_value === undefined || _value === null || _value === "" || _value === "undefined&

JS判断对象是否存在的方法

Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易.但是实际上,它涉及的语法问题,远比我们想象的复杂.Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法.只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

判断对象存活的方法

1. 引用计数法:给对象添加一个引用计数器,每当一个地方引用它,计数器值加1:当引用失效时,计数器值就减1 2. 可达性分析法:当一个对象到GC Roots没有任何引用链相连时,该对象被判断为可回收的对象,主流方法 可作为GC Roots对象的: (1)虚拟机栈中引用的对象(栈帧中的本地变量表): (2)方法区中的静态属性引用的对象: (3)方法区中常量引用的对象: (4)本地方法栈中JNI(即一般说得native方法)引用的对象 3. 引用类型法:强引用,软引用,弱引用,虚引用

[转] javascript 判断对象是否存在的10种方法总结

[From] http://www.jb51.net/article/44726.htm Javascript语言的设计不够严谨,很多地方一不小心就会出错.举例来说,请考虑以下情况.现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: 复制代码代码如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易.但是实际上,它涉及的语法问题,远比我们想象的复杂.Juriy Zaytsev指出,判断一个Javascrip

JS中判断对象是不是数组的方法

JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Array的对象就不起作用了. 利用typeof除了array和null判断为object外,其他的都可以正常判断 alert(typeof null); // "object" alert(typeof function () { return 1; }); // "function&

JVM学习-jvm判断对象已死的方法

在堆里面存放着各种各类的Java对象,垃圾收集器在对堆进行垃圾回收时,首要就是判断哪些对象还活着,哪些对象已经死去(即不被任何途径引用的对象). 标记清除算法: 标记清除算法简单概括为:给对象添加一个引用计数器,每当有一个地方引用该对象时,计数器+1,当引用失效时,计数器-1,任何时刻,当计数器为0的时候,该对象不再被引用.客观的说,引用计数器的实现简单,判定效率也高,大部分场景下是一个不错的选择.但是,当前主流的Jvm均没有采用标记清除算法,原因在于,它很难解决对象之间互相循环调用的情况. 可