文档章节

iOS NSClassFromString,NSSelectorFromString,isKingO

法斗斗
 法斗斗
发布于 2016/03/01 17:33
字数 305
阅读 92
收藏 0

iOS NSClassFromString,NSSelectorFromString,isKingOfClass

1. NSClassFromString

  这个方法判断类是否存在,如果存在就动态加载的,不存为就返回一个空对象;

   id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];

  正常情况下等价于:

id myObj = [[MySpecialClass alloc] init];

      但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。

  优点:

弱化连接,因此并不会把没有的Framework也link到程序中。

不需要使用import,因为类是动态加载的,只要存在就可以加载。因此如果你的toolchain中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。

 

2. NSSelectorFromString

  这个方法是上个方法的补充,也是动态加载实例方法。

  SEL sel = NSSelectorFromString(@"doSomethingMethod:")//注意这个冒号,说明方法带有参数

  if([object respondsToSelector:sel]) { 

      [object performSelector:sel withObject:color]; //注意如果有两个参数,使用两个withObject:参数;

  }

3. isKindOfClass

  isKindOfClass 我们也可以使用isKindOfClass来检查一个对象是否是一个类的成员


4. isMemberOfClass

  isMemberOfClass方法是来确定对象是否是某一个类的成员

本文转载自:

共有 人打赏支持
法斗斗
粉丝 21
博文 367
码字总数 17774
作品 0
杨浦
程序员
私信 提问
学习IOS编程必须要知道的一些知识

1.首先要先了解main( )函数,函数有四个参数,argc ,argv,程序主要类 ,代理类 2.plist 、xml 格式文件通常用于储存用户设置 3. pch 预编译文件头 4. xib nterface Builder 图形设计界面(...

青云_K
2013/01/18
0
1
2018 iOS 面试题大全(补充完整版)

原文地址:2018 iOS 面试题大全 由于原作者并没有继续更新,这里我转过来继续更新下 这个栏目将持续更新--请iOS的小伙伴关注! 1、iOS 应用导航模式有哪些? 2、iOS 中持久化方式有哪些? 3、...

Theendisthebegi
11/15
0
0
苹果发布 iOS 9.2 正式版:多项功能增强、改进

除了发布 OS X 10.11.2 和 tvOS 9.1 正式版外,苹果今天还发布了 iOS 9.2 正式版。iOS 9.2 是自 iOS 9 在今年9月发布之后的第二次重大版本更新。iOS 9.2 测试开始于10月底,开发者和公测用户...

oschina
2015/12/09
3.8K
22
IOS学习,最简单的表格应用程序,学习,列出博客

IOS编程浅蓝教程,这是博客地址http://www.cnblogs.com/haichao/category/425378.html IOS编程浅蓝教程:锲子 IOS编程浅蓝教程(一)先决条件:开始iOS编程的必要准备 IOS编程浅蓝教程(二) Hel...

andy521zhu
2015/01/17
0
0
苹果关闭 iOS 7.1.2 验证,降级不再可能

今天,苹果正式关闭了 iOS 7.1.2 固件验证,这意味着用户从 iOS 8 降级至 iOS 7 将无法完成验证。对于 iOS 8 以及 iOS 8.0.1 不满意的用户将无法降级至 iOS 7.1.2。苹果决定现在停止 iOS 7....

oschina
2014/09/27
3.9K
19

没有更多内容

加载失败,请刷新页面

加载更多

并发+超时示例

func installMantisAgent() {log.Println("begin auto repair mantis agent")num := 0succNum := 0failNum := 0var Q *queue.Queueswitch g.Config().RepairType {ca......

我爱吃葱花
7分钟前
0
0
增加一列自增id

ALTER TABLE xxxx ADD iSiteId INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;

colin_86
17分钟前
1
0
开发函数计算的正确姿势 —— 爬虫

在 《函数计算本地运行与调试 - Fun Local 基本用法》 中,我们介绍了利用 Fun Local 本地运行、调试函数的方法。但如果仅仅这样简单的介绍,并不能展现 Fun Local 对函数计算开发的巨大效率...

阿里云官方博客
21分钟前
0
0
安卓代码混淆

Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。 proguard的作用 : 1,代码混淆 2,精简代码,删掉没有用到的代码,减小apk的体积。 使用场景...

whoisliang
26分钟前
1
0
配置Tomcat虚拟主机

12月13日任务 16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 配置tomcat监听80端口 默认tomcat监听的是8080端口,如果想直接输入ip就访问到网页,就需要进行...

robertt15
32分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部