《黑马程序员》 description方法(Objective - c语法)

- (NSString *)description方法

① 默认情况下当使用NSLog和%@输出某个对象时,默认输出类名+对象地址

② 就会调用对象的- (NSString *)description方法

③  拿到- (NSString *)description方法的返回值进行输出,默认是类名+对象地址

 

 

+ (NSString *)description方法

① 默认情况下当使用NSLog和%@输出某个类对象时,默认输出类名

② 就会调用对象的+ (NSString *)description方法

③  拿到+ (NSString *)description方法的返回值进行输出,默认是类名

 

输出

SEL类型的数据

   ①  当类被加载以后,类中就有对应的方法列表。

   ②  每个方法都有一个对应的SEL。。

   ③  我们可以通过SEL来找到对应的方法。

  将方法名包装成sel类型的数据

将字符串包装成sel类型的数据

带参数的SEL

   ① 先将方法名包装成sel类型的数据

   ②  方法名后面的冒号也是方法名的一部分

   ③  传入的参数是id类型

将SEL类型的数据转换成NSString类型输出

_cmd

  每个方法内部都有一个隐藏的 _cmd  代表着当前方法

  将_cmd转换成字符串输出

SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去找对应的方法地址,找到方法地址就可以调用方法

 

posted @ 2015-03-22 00:33  画梦醉红尘  阅读(136)  评论(0编辑  收藏  举报