在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
description方法 #import "Person.h" @implementation Person - (void) setAge : (int) age { _age = age; } /** 决定了实例对象的输出结果 **/ - (NSString *) description { return [NSString stringWithFormat : @"age=%i", _age]; } /** 决定了类对象的输出结果 **/ + (NSString *) description { return @"ABC"; } @end //默认情况下(不重写) 使用NSLog和%@输出对象时 结果是: <类名: 内存地址> //会调用对象的-description方法 //拿到-description方法的返回值(NSString *)显示到屏幕上 //-description方法默认返回的是"类名 + 内存地址"; //便于观察结果 一般重写父类的-description方法 SEL类型 1.方法的存储位置 每个类的方法列表都存储在类对象中 每个方法都有一个与之对应的SEL类型的对象 根据一个SEL对象就可以找到方法的地址 进而调用方法 2.SEL对象的创建 SEL s = @selector(方法名); SEL s2 = NSSelectorFromString(@"test"); 3.SEL对象的其他用法 将SEL对象转为NSString对象 NSString *str = NSStringFromSelector(@selector(方法名)); 根据SEL调方法 [p performSelector : @selector(方法名)]; [p performSelector : @selector(方法名) withObject : 实际参数]; [self performSelector : _cmd]//会引发死循环 _cmd代表着当前方法 |
请发表评论