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:  }

语言基础之description方法的更多相关文章

  1. C语言基础:两个变量交换值的方法

    学习任何语言基础时,两个数值得交换是必须掌握的,下面是3种不同的方式(c语言) 方法一:利用数学的计算技巧 #include <stdio.h> int main() { , b = ; ...

  2. OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法

    一. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Categor ...

  3. 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

    四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...

  4. OC基础--description方法

    PS:经过之类重写description方法后,个人感觉有点像C#中的ToString();方法 一.description方法的作用:(输出所有的OC对象都用%@) 1.默认情况下(不重写descr ...

  5. [Objective-c 基础 - 2.10] description方法

    A. 实例对象打印-description 1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法 2.拿到-description的返回值,显示到console中 ...

  6. 2008技术内幕:T-SQL语言基础

    2008技术内幕:T-SQL语言基础 单表查询摘记 这里的摘抄来自<Microsoft SQL Server 2008技术内幕:T-SQL语言基础>,书中用到的案例数据库是这个 TSQLF ...

  7. (cljs/run-at (->JSVM :browser) "语言基础")

    前言  两年多前知道cljs的存在时十分兴奋,但因为工作中根本用不上,国内也没有专门的职位于是搁置了对其的探索.而近一两年来又刮起了函数式编程的风潮,恰逢有幸主理新项目的前端架构,于是引入Ramda. ...

  8. 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

    Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...

  9. 2008技术内幕:T-SQL语言基础 单表查询摘记

    这里的摘抄来自<Microsoft SQL Server 2008技术内幕:T-SQL语言基础>,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这 ...

随机推荐

  1. Android 实现对图片 Exif 的修改(Android 自带的方法)

    很多时候我们都要对我们的图片信息进行一些处理,比如向图片中写入经纬度,拍摄时间,设备信息,作者等等. 这个时候我们就要对我们的图片Exif进行写入信息的操作,当然,我们想知道图片的Exif信息,也可以 ...

  2. 动态规划:数位DP

    数位dp一般应用于: 求出在给定区间[A,B]内,符合条件P(i)的数i的个数 条件P(i)一般与数的大小无关,而与 数的组成 有关 例题是一道BZOJ1833,让求出区间所有整数每个数字出现的次数 ...

  3. EL遍历集合

    jstl EL表达式遍历集合 博客分类: JSTL/EL JSTLEL遍历集合  在EL中,方括号运算符用来检索数组和集合的元素.对于实现 java.util.Map 接口的集合,方括号运算符使用关联 ...

  4. 汕头市队赛 yyl杯1 T1

    A SRM 05 - YYL 杯 R1 背景 傻逼题 描述 给一个序列,序列里只有两种元素1和2.现在要从序列里选出一些非空子序列使得子序列里两种元素数量相同.问有多少种方案数? 输入格式 多组数据 ...

  5. nginx重启失败

    参考: http://www.bubuko.com/infodetail-1742262.html Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8 ...

  6. 使用pandas进行数据清洗

    本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的空值/缺失值 isnull() ...

  7. classNotFound修复

    万恶的这个bug,也是经常遇见,每一次都是在反复检查完代码之后并没有发现错误,然后开始上网百度,发现也并没有一个准确的解答.在此给出我的个人的修复bug的过程. 1.首先我是遇到了找不到entity中 ...

  8. iptables 用法及常用模块总结

    iptables传输数据包的过程: 1. 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去. 2. 如果数据包就是进入本机的,它就会沿着图向下移动, ...

  9. 堆外内存: Chronicle Map

    https://www.javacodegeeks.com/2015/04/chroniclemap-java-architecture-with-off-heap-memory.html Java堆 ...

  10. css深入理解之border

    1.  border-width border-width不支持百分比,类似的还有outline,box-shadow,text-shadow等 border-width支持关键字:thin(1px, ...