NSObject和反射2
NSObject和反射2。
commend +R run
id stu=[Student student]; // –> Student *stu=[Student student];
:也是方法名的一部分
主要是反射:reflect 根据字符串来实例化一个对象
//#pragma mark reflect according to class name
void reflect(){
NSString *str=@”Person”;
Class class=NSClassFromString(str);//convert a string to a class
Person *person=[[class alloc]init];
NSLog(@”%@”,person);
[person release];
NSString *str=NSStringFromClass([Person class]);//obtain class name
}
//#pragma mark reflect method
Person.h
@interface Person:NSObject
-(void)test;
@end
Person.m
@implementation
-(void)test{
NSLog(@”Call test method in Person.”);
}
@end
void reflectmethod(){
NSString *method=@”test”;
//Convert this string to a method
//通过字符串调用方法名
SEL selector=NSSelectorFromString(method);
[person performSelector:(selector)];
[person release];
// Convert a(SEL) selector to a string
NSString *selectorName=NSStringFromSelector(selector);
}
NSObject和反射2的更多相关文章
- NSObject和反射
如何NSObject和反射 NSObject 常用方法 如何判断 某个对象是否属于某个类或子类 -(BOOL)isKindOfClass:(Class)aClass 判断是否为aClass的实例(不包 ...
- [OC Foundation框架 - 16] NSObject和反射
1.判断某个对象是否属于一个类 Student *stu = [[[Student alloc] init] autorelease]; BOOL result= [stu isKindOfClass ...
- Object-c 语法 - NSObject常用方法和反射
NSObject常用方法 - (BOOL)isKindOfClass:(Class)aClass //判断是否为aClass或者aClass的子类的实例,aClass可以通过[类名 class]获取 ...
- NSObject常用方法和反射
// 类的反射 NSString *str = @"Person"; Class class = NSClassFromString(str); Pers ...
- IOS_反射
// // PJReflect.m // 新浪微博 // // Created by pj on 14-8-8. // Copyright (c) 2014年 pj. All rights reser ...
- objective-c(反射)
objective-c中提供类似JAVA的反射特性,给出基本例子如下: #import <Foundation/Foundation.h> @interface ClassA : NSOb ...
- swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)
函数 func x(a:Int, b:Int) {} func x(a:Int, b:Int) -> Void {} func x(a:Int, b:Int) ->(Int,Int ...
- Objective-C 中基于RunTime实现的反射
一.反射 反射,一般表现在字符串和Class转换,字符串和内部方法转换,字符串和属性的转换(取值和赋值). 二.Objective-C中的反射 OC的反射是基于其Runtime实现的. 以执行某个函数 ...
- ios反射
http://www.cr173.com/html/18677_1.html 1.反射获取类属性名和属性类型 unsigned ; objc_property_t *properties = clas ...
随机推荐
- 【Trie】Immediate Decodability
[题目链接]: https://loj.ac/problem/10052 [题意]: 就是给一些串,是否存在两个串是相同前缀的. [题解] 模板题,不想解释了. [代码]: #include<c ...
- POJ 1860 汇率 SPFA
题意 有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 ...
- C# DataTable根据字段排序
DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Age");// ...
- C#基础知识 (转)
https://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html(原文地址) 本文是一个菜鸟所写,本文面向的人群就是像我这样的小菜鸟,工作一年 ...
- aspectcore 简单解析
.netcore 下aspectcore 的使用 动态代理: static void Main(string[] args) { Console.WriteLine("Hello Worl ...
- git冲突Pull is not possible because you have unmerged files
本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用.HEAD代表本地最近成功push后形成的引用.MERGE-HEAD表示成功pu ...
- linux下Django Nginx+uwsgi 安装配置
原文链接 在前面的章节中我们使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, ...
- jEasyUI 菜单与按钮
jQuery EasyUI 菜单与按钮 – 创建简单的菜单 <div id="mm" class="easyui-menu" style="wi ...
- 《Python数据科学手册》
<Python数据科学手册>[美]Jake VanderPlas著 陶俊杰译 Absorb what is useful, discard what is not, and add wh ...
- 【Day3】3.提取商城分类结构
import re with open('index.html','r',encoding='utf-8') as f: html = re.sub('\n','',f.read()) section ...