语言基础之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: }
转载于:https://www.cnblogs.com/zeyang/p/4318925.html
语言基础之description方法相关推荐
- java语言基础-面向对象编程-方法(廖雪峰老师官网学习记录)
Java是一种面向对象的编程语言. 面向对象编程,英文是Object-Oriented Programming,简称OOP. 面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方 ...
- Python import导入模块与函数方法 Python语言基础【1】
1 Python的语言基础 导入模块 在Python代码中导入模块需要使用 import语句语法结果如下 import module_name 使用模块中函数的语法如下 module_name.fun ...
- IOS开发基础Object-C( 04)—构造方法和description方法
在上一篇博客中,我们简单介绍了一下点语法和self,相信大家对点语法以及self有了一点的了解,点语法的本质就是调用get方法和set方法.那么今天我们再来介绍一下构造方法和description. ...
- Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用
文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...
- [Objective-c 基础 - 2.10] description方法
A. 实例对象打印-description 1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法 2.拿到-description的返回值,显示到console中 ...
- OC语言基础一:OC方法调用机制,new方法实现原理
文章目录 OC方法调用机制 new方法实现原理 野指针 内存溢出 内存泄漏 alloc和init OC方法调用机制 OC有两种方法 Person *person=[Person new]; [pers ...
- id、构造方法、Category 分类、类的本质、description方法、SEL
1.id: 万能指针id :id对象不能用点语法.id对象本身已经有 * 了 因此变量名不能有 * . 可以吧id理解为 NSObject * 类型数据! int main() { @autorele ...
- 随机函数c语言对打,20165323 学习基础和C语言基础调查
20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...
- 我的全栈之路-C语言基础之C语言概述与开发环境搭建
我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...
最新文章
- 高校网站群建设方案简介
- 【微信小程序企业级开发教程】前台收集数据更新数据库表方法
- STM32之ADC实例(基于DMA方式)
- 消防信号二总线有没电压_消防的电源总线和二总线的区别,二总线是不是信号..._消防考试_帮考网...
- 【ruoyi若依】echarts图表跑版
- python基础—循环基础知识点
- 动态加载子节点_省市区递归嵌套子流程动态选择实现
- GDB使用小结- 可带参数
- qt银行排队系统服务器代码,基于qt的银行排队系统
- java ee jsp程序_JavaEE程序设计及项目开发教程(JSP篇)
- .tar.bz2文件怎么解压
- 创业公司专题数据(包含stata多种模型代码)
- Visual Studio 2013各个版本下载地址
- 有感于《成都私车数量超上海》
- 低压差线性稳压电源(LDO)原理、参数及应用
- 用计算机弹发如雪,计算器弹音乐谱子
- p30升级鸿蒙能支持5G网络吗,华为p30支持5g吗
- vue 具名插槽用法
- 结构体 struct 的深入理解
- Python 并行编程教程 | Lynda教程 中文字幕
热门文章
- php里面12小时制和24小时制的选择方法
- 深度学习模型建立过程_所有深度学习都是统计模型的建立
- pytorch卷积可视化_使用Pytorch可视化卷积神经网络
- sublime同步配置和插件
- 访问 Neutron 外部网络 - 每天5分钟玩转 OpenStack(143)
- 很好的Android论坛
- spi flash驱动
- java spring redis_spring配置redis(xml+java方式)
- mysql 中文字段名_MySQL全文索引怎么做?| 教程分享
- python 多个列表合并_Python对两个有序列表进行合并和排序的例子