SEL数据类型】的更多相关文章

// //  main.m //  06-SEL数据类型 // //  Created by apple on 14-3-18. //  Copyright (c) 2014年 apple. All rights reserved. // #import <Foundation/Foundation.h> /* SEL数据类型是用来包装方法的 */ #import "Person.h" int main(int argc, const char * argv[]) { @a…
1.SEL数据类型 SEL是个指针类型的数据,类似C语言中的函数指针.在OC中,每个对象方法都有其对应着一个SEL变量.当我们调用对象方法时,编译器会将该方法转换成一个SEL的数据,然后去类中寻找该方法对于的SEL.(这里涉及的深层原理本文没有深究,本文仅仅将SEL以及@selector的使用) 2.@selector的用法 @selector(方法名),该函数返回一个SEL类型的数据,因此可以这样使用.假设Person类中有一对象方法叫做run().而我们可以这样调用它: SEL f1 = @…
// //  main.m //  SEL数据类型 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" /* SEL数据类型,使用来包装方法的 */ int main(int argc, const char * argv[]) { @aut…
A.概念 1.SEL类型代表方法 2.每个方法都有一个对应的SEL类型的数据 3.实例对象调用方法 (1)编译器会把类的方法包装成SEL类型的数据, (2)根据SEL数据找到方法地址,缓存此地址 (3)根据方法地址调用相应的方法 4.调用方法的方式 // 1.直接调用 [p test2]; // 2.使用@selector [p performSelector:@selector(test2)]; // 3.使用@selector调用带参数的方法 [p performSelector:@sele…
SEL就是对方法的一种包装.包装的SEL类型数据它对应相应的方法地址,找到方法地址就可以调用方法.在内存中每个类的方法都存储在类对象中,每个方法都有一个与之对应的SEL类型的数据,根据一个SEL数据就可以找到对应的方法地址,进而调用方法. @interface Person : NSObject + (void)test1; - (void)test2; @end // 根据.h文件中定义的Person类和方法 执行完这行代码 在内存中如下 Person *person = [[Person a…
@interface Person : NSObject + (void)test1; - (void)test2; @end // 根据.h文件中定义的Person类和方法 执行完这行代码 在内存中如下 Person *person = [[Person alloc] init]; SEL就是对方法的一种包装.包装的SEL类型数据它对应相应的方法地址,找到方法地址就可以调用方法 1.方法的存储位置 在内存中每个类的方法都存储在类对象中 每个方法都有一个与之对应的SEL类型的数据 根据一个SEL…
先看tomcat里用到的代码: //然后开始动画 //把图片放到animationImages,接受数组参数 self.tom.animationImages = arrayImage; //设置时间间隔,81张图,图多就播的时间稍微长,否则短 self.tom.animationDuration = arrayImage.count * 0.074; //设置重复次数 self.tom.animationRepeatCount = ; //开始动画 [self.tom startAnimati…
oc 的分类-Category 通过分类(category)可以以模块的方式向现有的类添加方法. 它提供了一种简单的方式, 用它可以将类的定义模块化到相关方法的组或分类中.它还提供了扩展现有类定义的简便方式,并且不必访问类的源代码,也无需创建子类. /* 文件名:Person.h */ #import <Foundation/Foundation.h> @interface Person : NSObject { int _age; } @property int age; - (void)t…
/* 静态类型: 变量的类型在编译之时就被确定下来. 动态类型: 对象的类型由对象的内存里的某个结构数据来决定它是什么类型, 而不是在编译之时就被确定下来的数据类型. 对象的类型只有在运行时才知道. oc中的所有对象都有一个共同的基类(根类):NSObject oc的动态类型特性完全由NSObject这个类来提供. 分析: NSObject类的一个成员变量: Class isa;  实际上是一个结构体指针类型 typedef struct objc_class * Class; 结构体如下: s…
来源:http://blog.csdn.net/dqjyong/article/details/7672865 Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码.关于KVO的学习,可以参考文章:<Key-Value Observing快速入门>:http://www.cocoadev.cn/Objective-C/Key-Value-Observing-Quick-Start-cn.asp KVO概念:      KVO是co…