通过字符串映射方法

有时候我们需要通过类名来生成相应类的实例,这就用到反射机制。

首先通过类名生成Class类实例 在通过该Class 实例来创建(alloc)对象;

具体方法会用到  NSClassFromString(类名) 一看就知道是C语言的东西;

NSString * tempClassName = @"yourClassName";

Class * tempClass =  NSClassFromString(tempClassName);

这里 在创建这个类实例之前 最好判断下 是否该对象存在;

if(!tempClass) return;

// 如果存在 就创建你相应的实例对象 比如上面我们这个类名 是UIViewController子类的类名

UIViewController * tempObj = [[tempClass alloc] init];

这样就得到了我们的想要的目的。

NSString *method = @"testYingShe";

SEL selector = NSSelectorFromString(method);

[self performSelector:selector withObject:nil afterDelay:1];

通过字符串映射方法,布布扣,bubuko.com

时间: 2024-10-02 05:57:44

通过字符串映射方法的相关文章

总结下哪些我们常用或不常用的字符串处理方法

我们经常的用的字符串的处理方法,有哪些的?常用不常用的都有,有必要总结下 1, charAt:可返回指定位置的字符; <script type="text/javascript"> 返回值“e” var str="Hello world!" document.write(str.charAt(1)) </script> 2,charCodeAt:方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 

5.6.3.3 字符串位置方法

有两个可以从字符串中查找子字符串的方法:indexof()和lastIndexOf().这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到子字符串,则返回-1).这两个方法的区别分别在于:indexOf()从字符串的开头向后搜索子字符串,而lastIndexOf()方法是从字符串的末尾向前搜索子字符串.例如: var stringValue = "hello world"; alert(stringValue.indexOf('o'));//4 ale

php中文字符串截取方法实例总结

本文实例总结了php中文字符串截取方法,非常实用的技巧.具体方法分析如下: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. 2.自己书写截取函数,但效率不如用mbstring扩展库来得高. 3.如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0). substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函 数,mb_substr()/mb_str

Swift字符串截取方法的改进

字符串截取方法是字符串处理中常用的基本方法.熟悉iOS的朋友都知道在基础类的NSString中有substringToIndex:,substringFromIndex:以及substringWithRange:这三种基本的截取方法. 问题描述: 那么,Swift语言中的String类是否有同样的截取功能呢? 反复查看String类的头文件,并没有找到相同或相似的函数接口. 直接在swift文件里也不能对一个String类的变量调用上面的方法. 然而通过引入基础框架,即 import Found

常用的字符串分割方法

起因:前段时间写命令行解析函数(字符串分割比较通用的例子),没有经过深入思考和分析引起了程序死循环,就想了下是否有对应的系统函数可以使用.经过一番搜索之后发现还是有几个可用的字符串分割函数,这里整理下,以作总结及后续查询使用. 当然,如果你觉得自己的字符串处理可以做的很好,可以考虑直接使用字符串查找函数做字符串分割,比如c中的字符串查找函数.CString字符查找函数.string字符查找函数等,更原始点可以直接操作内存. windows下有以下几种可用的字符串分割方法. CString::To

JS常用字符串处理方法总结

1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个方法对于相同的检索条件输出的结果是一样的 例如: <script type="text/javascript"> var str="Hello World!" document.write(str.indexOf("Hello"))//输出0 document.write(str.indexOf("

shell截取字符串的方法

参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${para

jackson 解析json含有不规则的属性的json字符串的方法

对于json中含有点号,等其他特殊的,不是规范的java变量名的字符,可以使用一个注解来处理. 贴代码: import com.fasterxml.jackson.annotation.JsonProperty; public class Api { private Bean APISSInshopApi; @JsonProperty("API.SSInshopApi") public Bean getAPISSInshopApi() { return APISSInshopApi;

分享一个二进制转字符串的方法

1 public string ByteToString(byte[] inputBytes) 2 { 3 StringBuilder temp = new StringBuilder(2048); 4 foreach (byte tempByte in inputBytes) 5 { 6 temp.Append(tempByte > 15 ? 7 Convert.ToString(tempByte, 2) : '0' + Convert.ToString(tempByte, 2)); 8 }