常见iOS面试题 之 怎么判断一个类是否遵循某个协议

答案:

使用方法conformsToProtocol.

调用例子: BOOL isConform = [Student conformsToProtocol:@protocol(UIScrollViewDelegate)];

或者:

Student* student =[[Student alloc] init];

BOOL isConform = [student conformsToProtocol:@protocol(UIScrollViewDelegate)];

都可以.

这个方法既是NSObject的一个类方法,也是定义在NSObject Protocol中的一个方法.

方法定义:

+ (BOOL)conformsToProtocol:(Protocol *)protocol;

具体的说明直接去看SDK文档就可以了.

扩散一下,一般实际应用中遇到的更多的是一个类的实例是否能够响应某个方法,一般用

- (BOOL)respondsToSelector:(SEL)aSelector;

就可以了;

如果只是想知道某个类是否响应其中一个方法,则用

+ (BOOL)instancesRespondToSelector:(SEL)aSelector;.

时间: 2024-10-13 03:58:40

常见iOS面试题 之 怎么判断一个类是否遵循某个协议的相关文章

java判断一个类是否公共类

Modifier.isPublic([类].getModifiers()) Modifier.isAbstract([类].getModifiers()) java判断一个类是否公共类,布布扣,bubuko.com

C#判断一个类中有无"指定名称"的方法

C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 using System; using System.Reflection; namespace Hello {     class Program     {  

判断一个类到底是从哪个jar包中调用的工具类

项目中使用的jar包较多时,会出现jar冲突的情况,有时候很难判断当前使用的这个类是从哪个jar包中调用的.因为一般我们只能看到jar包的名称,不清楚其中的类的目录结构. 这个类的作用就是说明当前调用的类来自于哪个jar包. import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.security.CodeSource; import java.security.Pr

C#控制台 判断一个类是否实现了指定的接口 IsAssignableFrom

1 code 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Reflection; 6 using System.Text; 7 using System.Threading.Tasks; 8 9 namespace ConsoleApplication14 10 { 11 public interface IPlus 12 {

iOS面试题收集

1.请简述NSSet.NSArray .NSDictionary的区别   NSSet.NSArray.NSDictionary  都是属于不可变集合类, 在集合类里只能添加对象元素不能添加基本数据类型.   不可变:在创建完集合类后就不能够对他们进行修改.   NSSet  :   1.是一个无序的集合   2.在内存中存储的地址是不连续的   3.并且添加进去的元素是不可重复的   4. NSSet它是使用hash算法方式 直接找到元素的位置.  NSArray  1.是一个有序的集合  2

.NET C# 三种实例化一个类的方式的性能比较

本文内容 实例化一个类的方式 用 New 关键字实例化一个类 用 Activator 实例化一个类 用 Assembly 实例化一个类 性能比较 环境 比较 分析 代码 在开发应用程序时,能够动态实例化一个类很有用.给出类的一个字符串名称,就能够创建这个类的一个实例.若这些需要实例化的类都继承同一个接口(如本例的 IPerson),那么实例化的 object 类型转换后可以赋值给这个接口.这很方便.否则,就得用 swtich-case 语句(估计会很长). 那么,接下来的问题,实例化一个类的性能

《招一个靠谱的移动开发》iOS面试题及详解(上篇)

多线程.特别是NSOperation 和 GCD 的内部原理. 运行时机制的原理和运用场景. SDWebImage的原理.实现机制.如何解决TableView卡的问题. block和代理的,通知的区别.block的用法需要注意些什么. strong,weak,retain,assign,copy nomatic 等的区别. 设计模式,mvc,单利,工厂,代理等的应用场景. 单利的写法.在单利中创建数组应该注意些什么. NSString 的时候用copy和strong的区别. 响应值链. NSTi

iOS常见的面试题总结

1.   简述OC中内存管理机制 oc中的内存管理机制是自动引用计数,它分为两种方式:MRC和ARC,MRC是手动管理内存,ARC是系统自动管理内存:他的原则是谁开辟谁释放,有开辟就要有销毁 2.   readwrite,readonly,assign,retain,copy,nonatomic .atomic.strong.weak属性的作用? Readwrite:读写特性,可读可写(是默认属性) Readonly:只读,只有getter没有setter Assign:修饰一些基本的数据类型(

iOS当中一些常见的面试题

转自各方面..... 一.前言部分 文中的问题多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.iOS9有哪些新特性? 答案: 1)改进了 Siri 基于日期.位置和相簿名称来搜索个人照片和视频 要求 Siri 来提醒您在 Safari.“邮件”.“备忘录”和“信息”等应用中看到的有关内容 提供大众公交路线 2)增强 Spotlight 搜索功能 获取体育比分.天气状况和股票价格 执行简单的数学计算和单位换算 在联系人的搜索结果中发送信息.拨打电话和 FaceTime 通话 3)新增 i