黑马程序员技术交流社区

标题: 关于description方法 [打印本页]

作者: lumangmang    时间: 2015-9-17 12:26
标题: 关于description方法
对description方法不是很懂,有没有大神详细的说一下
作者: 眼瞳╄渲染繁华    时间: 2015-9-17 13:41
-description方法
使用NSLog和%@输出某个对象时,会调用对象的-description方法,并拿到返回值进行输出
+ description方法
使用NSLog和%@输出某个类对象时,会调用类对象+description方法,并拿到返回值进行输出
修改NSLog的默认输出
重写-description或者+description方法即可
  1. @interface Person : NSObject
  2. @property (nonatomic,assign) int age;
  3. @property (nonatomic,strong) NSString *name;
  4. @end

  5. @implementation Person
  6. - (NSString *)description
  7. {
  8.     return [NSString stringWithFormat:@"age = %d, name = %@", _age, _name ];
  9. }
  10. @end

  11.   int main(int argc, const char * argv[]) {
  12.     @autoreleasepool {
  13.         Person *p = [[Person alloc] init];
  14.         p.age = 10;
  15.         p.name = @"jack";
  16.         NSLog(@"%@",p);
  17.     }
  18.     return 0;
  19. }
复制代码

作者: lumangmang    时间: 2015-9-22 13:42
眼瞳╄渲染繁华 发表于 2015-9-17 13:41
-description方法
使用NSLog和%@输出某个对象时,会调用对象的-description方法,并拿到返回值进行输出
+ d ...

看视频还能看懂   自己敲就有点费劲了
作者: HiGodl    时间: 2015-9-23 00:21
lumangmang 发表于 2015-9-22 13:42
看视频还能看懂   自己敲就有点费劲了

其实就是你想在打印对象时输出什么的就让description方法返回什么就好了啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2