NSLog()函数输出Objective-c对象时,输出的是该对象的description方法的返回值。也就是说,以下两行代码作用完全一样(假设p是指向任何对象的指针变量)。

NSLog(@"%@",p);
NSLog(@"%@",[p description]);

NSLog(@"%@",类对象); 调用+description,此类方法返回值是 类名 ,所以这行代码的默认作用是输出类名

NSLog(@"%@",实例对象); 调用-description,此实例方法返回值是<类名:十六进制的首地址>,所以这行代码默认作用是同时输出类名和地址。 在-description方法中使用NSLog打印self,会造成死循环。

-description方法是NSObject类的方法,+descrip也是?(此行存疑)

两个description返回值都是NSString,都可以重写,以达到自定义“自我描述”的目的。

转载于:https://www.cnblogs.com/ERICSUN12/p/5309240.html

NSLog(@%@,类对象); 默认输出类名相关推荐

  1. Date类对象与字符串的互相转换

    如何对Date类对象与字符串互相转换呢? 1.Date类对象转换成字符串: import java.util.Date;public class DateTest {public static voi ...

  2. 定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积

    定义长方体类,数据成员有长.宽.高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5.3.4.2).计算体积函数,分别构造默认对象和长宽高分别为6.25.4.8.5.2的对象,输出各对象的体积 ...

  3. 用类来实现输入输出时间,定义多个类对象分别输入输出各对象的时间(时:分:秒),使用函数,数据成员不再由键盘输入,而在调用函数时由实参给出,并在函数中使用默认参数

    //个人留着复习用 #include using namespace std; class Time {public: int hour; //类 int minute; int sec; }; in ...

  4. 【C++从入门到踹门】第三篇:类和对象(中)类的默认成员函数

    目录 1.类的默认成员函数 2.构造函数 2.1 构造函数引入 2.2 构造函数概念及特点 3. 析构函数 3.1 析构函数引入 3.2 析构函数的概念 3.3 在哪些情况下会程序会执行析构函数? 3 ...

  5. C++>继承,继承方式及其比较,子类和父类对象指针,派生类的默认成员函数,虚继承,继承与友元,继承与静态成员

    继承 继承的概念与定义 概念: 继承是指一个子类(或称为派生类)继承父类(或称为基类)的特征(属性和操作).继承是面向对象程序设计时实现代码复用的重要手段,它允许在原有的类的基础上进行扩展,增加功能, ...

  6. c++中实现delphi的按类名生成类对象

    c++中用模板,则很容易实现DELPHI中的getclass ,newinstance,create的功能.简单介绍如下(摘自我的另一篇文章<<c++按类名生成对象>>: /* ...

  7. 声明一个国家基类Country,包含国名、首都、人口等属性,派生出省类Province,增加省会城市、人口数量属性。定义派生类对象,并对相应信息进行输出

    声明一个国家基类Country,包含国名.首都.人口等属性,派生出省类Province,增加省会城市.人口数量属性.定义派生类对象,并对相应信息进行输出. # include<iostream& ...

  8. (邓爱萍)类 对象 例题

    点的距离 //将笛卡儿坐标系上的点定义为一个服务类Point,Point类求坐标系上两点间的距离. //设计测试Point服务类的应用程序主类,显示输出已创建对象间的距离. public class ...

  9. 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法

    . 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...

最新文章

  1. ETOPS:双发飞机延伸航程运行
  2. 无需「域外」文本,微软:NLP就应该针对性预训练
  3. 分享:Hadoop的Python框架指南
  4. Linux sudo找不到命令:修改sudo的PATH路径
  5. spring aop示例_Spring查找方法示例
  6. qq消息服务器延时,QQ聊天消息丢失或延迟的原因分析
  7. pdf书籍笔记助手,BookxNote使用记录
  8. gma 教程 | 气候气象 | 计算标准化降水指数(SPI)
  9. 软件工程(1)软件开发方法
  10. 超全面!Autodesk Maya重安装时显示已安装的解决办法
  11. 王垠四十行代码mark
  12. mysql 唯一性榆树_榆树有什么特点?
  13. google的新闻(文章)分类算法
  14. 第三方SDK编写文档 - iOS
  15. java学习笔记day09 final、多态、抽象类、接口
  16. 腾讯云TCA认证难考吗?考试内容是什么?
  17. 基于matlab弹道方程代码,基于Matlab/Simulink的弹丸外弹道6自由度运动仿真
  18. 什么是高可用性(High Availability)?
  19. linux grep命令例子,Linux中grep命令的12个实践例子
  20. 出租屋网络常用配置方案

热门文章

  1. e2fsck -y 故障_MC2-XWHM-Y
  2. AWS 基础服务学习
  3. 89600 matlab,是德KEYSIGHT N9000B CXA 信号分析仪,多点触控,9 kHz 至 26.5 GHz
  4. android活动管理器,Android 中管理所有的 Acyivity 活动
  5. kafka 同步提交 异步_极限MQ (5) Kafka 消费者
  6. C语言编程学生学籍登录窗口,C语言实现学生学籍管理系统
  7. java 4字节字符_java 替换四个字节的字符 '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
  8. Apache Flink 零基础入门(十二)Flink sink
  9. MySQLWorkbench里的稀奇事之timestamp的非空默认值
  10. java实现语法分析器_200 行 JS 代码,带你实现代码编译器