自定义类需要自己覆写description方法,否则打印信息时就会调用NSObject类所实现的默认方法。(如果不覆写,只会输出类名和对象的内存地址的信息,这只有在判断两个指针是否指向同一对象时才有用处。)

debugDescription方法,此方法的用意与description非常相似。区别在于,debugDescription方法是开发者在调用器debugger)中以控制台命令打印对象时才调用的。

例:LLDB的“po”命令可以完成对象的打印(print-object)工作。

1、一般普通描述信息,实现description方法,返回一个有意义的字符串来描述该实例。
2、若想在调试时打印出更详尽的对象描述信息,则实现debugDescription方法。
3、description和debugDescription都定义在NSObject协议中。

第17条:实现description方法的更多相关文章

  1. OC基础--description方法

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

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

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

  3. 语言基础之description方法

    1.description方法的一般用处 1: // 指针变量的地址 2: NSLog(@"%p", &p); 3: // 对象的地址 4: NSLog(@"%p ...

  4. 介绍Git的17条基本用法

    本文将介绍Git的17条基本用法.本文选自<Python全栈开发实践入门>. 1.初始化Git仓库 Git仓库分为两种类型:一种是存放在服务器上面的裸仓库,里面没有保存文件,只是存放.gi ...

  5. 什么情况下才要重写Objective-C中的description方法

    特别注意: 千万不要在description方法中同时使用%@和self,同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用descrip ...

  6. OC 初识NSString,self关键字,继承,成员变量的可见性,description方法

    OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符 ...

  7. CO-类的本质、description方法

    类的本质 1. 类也是个对象 其实类也是一个对象,是Class类型的对象,简称“类对象” Class类型的定义 typedef struct objc_class  *Class; 类名就代表着类对象 ...

  8. MySQL把多个字段合并成一条记录的方法

    转:http://www.111cn.net/database/mysql/71591.htm MySQL把多个字段合并成一条记录的方法 在mysql中字段合并可以使用很多函数来实现,如可以利用 GR ...

  9. 李洪强iOS开发之【Objective-C】07-自定义构造方法和description方法

    知识回顾 在前面已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 1 #import <Foundation/Foundation.h> 2 3 ...

随机推荐

  1. cocos2d-x android项目引用so库编译

    项目接了几十个渠道平台,每个平台都建了一个Android工程,引用Classes,由于才用java接口类来抽象出平台接口方法,所以每个工程的Android.mk是完全一致的,也就是说libgame.s ...

  2. curl 使用简介

    Libcurl使用介绍: 四个关键函数: 1.      curl_easy_init() 初始化curl环境,新建curl对象,返回对象句柄,使用举例:    CURL *handler = cur ...

  3. Ubuntu 14.04 SSH + 远程登录xrdp

    1. 安装ssh 打开"终端窗口",输入"sudo apt-get install openssh-server"-->回车-->输入"y ...

  4. [codevs1380]没有上司的舞会

    本题地址 http://www.luogu.org/problem/show?pid=1352 http://codevs.cn/problem/1380/ 题目描述 某大学有N个职员,编号为1~N. ...

  5. 2015年9月30日html表单笔记

    Asp.net是盖房子,那么html就是里面的砖头. 表单是非常重要的,为什么要使用表单呢?因为表单可以向服务器传输数据. 一般用form表单来传输数据. BS程序的执行模型具体流程是,个人电脑在表单 ...

  6. 韦东山yy公开课笔记(1)--各种杂的问题

    1,第四期的智能猫眼会有打电话和发短信的功能吗?   答:会有打电话功能,硬件上支持打电话就会支持发短信,只是软件上是否实现发短信现在未定.因为短信延迟太严重,不是可靠的. 2,请问关于makefil ...

  7. HW4.34

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  8. (太强大了) - Linux 性能监控、测试、优化工具

    转: http://www.vpsee.com/2014/09/linux-performance-tools/ Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经 ...

  9. Android: Dragging Popup Window 可移动浮动View

    final View cv = new View(this); setContentView(cv); TextView tv = new TextView(this); tv.setBackgrou ...

  10. 几年的Git使用技巧总结

    用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景.嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流. 创建和使用git ssh key 首先设置gi ...