zoukankan      html  css  js  c++  java
  • 语言基础之description方法

     

    1.description方法的一般用处

       1:   // 指针变量的地址
       2:      NSLog(@"%p", &p);
       3:      // 对象的地址
       4:      NSLog(@"%p", p);
       5:      // <类名:对象地址>
       6:      NSLog(@"%@", p);
       1:  Class c = [Person class];
       2:      
       3:      // 1.会调用类的+description方法
       4:      // 2.拿到+description方法的返回值(NSString *)显示到屏幕上
       5:      NSLog(@"%@", c);

    类似于Java的toString()

    2、description方法的一般用处注意点

       1:  // 默认情况下,利用NSLog和%@输出对象时,结果是:<类名:内存地址>
       2:      
       3:      // 1.会调用对象p的-description方法
       4:      // 2.拿到-description方法的返回值(NSString *)显示到屏幕上
       5:      // 3.-description方法默认返回的是“类名+内存地址”
       6:      NSLog(@"%@", p);
       7:      
       8:      //Person *p2 = [[Person alloc] init];
       9:      //NSLog(@"%@", p2);
      10:      
      11:      //NSString *name = @"Rose";
      12:      
      13:      //NSLog(@"我的名字是%@", name);
      14:      
      15:      Person *p2 = [[Person alloc] init];
      16:      p2.age = 25;
      17:      p2.name = @"Jake";
      18:      
      19:      NSLog(@"%@", p2);

    3、description方法的的用法

       1:  // 决定了实例对象的输出结果
       2:  //- (NSString *)description
       3:  //{
       4:  //    // 下面代码会引发死循环
       5:  //    // NSLog(@"%@", self);
       6:  //    return [NSString stringWithFormat:@"age=%d, name=%@", _age, _name];
       7:  //    //return @"3424324";
       8:  //}
       9:   
      10:  // 决定了类对象的输出结果
      11:  + (NSString *)description
      12:  {
      13:      return @"Abc";
      14:  }
  • 相关阅读:
    前缀和
    hdu6290奢侈的旅行
    make_pair
    New Year and Buggy Bot
    STL next_permutation 算法原理和自行实现
    前端面试题集合
    node设置cookie
    黑客与geek
    xss
    node async
  • 原文地址:https://www.cnblogs.com/zeyang/p/4318925.html
Copyright © 2011-2022 走看看