NSLog函数重写

跟C++的输出函数相比,NSlog函数有个很大的优势,就是它可以输出对象。

在实际使用过程中,我们可以通过实现description函数来实现对NSLog函数的重写

-(NSString*)description

NSString *ret=[NSStringstringWithFormat :@”name= %@,age=%@”,self .name ,self .age ];

return ret;

具体sample如下:

import

@interface person : NSObject

@property (nonatomic ,retain )NSString *name;

@property (nonatomic ,retain )NSNumber *age;

@end

person.m文件:

import”person.h”

@implementation person

-(NSString*)description

NSString *ret=[NSStringstringWithFormat :@”name= %@,age=%@”,self .name ,self .age ];

return ret;

-(void)dealloc

[_name release];

[_age release];

[super dealloc];

@end

main函数:

int main(int argc, const char * argv[])

@autoreleasepool {

person *personObj=[[person alloc] init];

personObj.name=@”andy”;

personObj.age=[NSNumber numberWithInt:34];

NSLog(@”the obj is %@”,personObj);

return 0;

输出结果:

2013-11-14 14:31:17.730 elementFirst[2824:303] the obj is name= andy,age=34

Original: https://www.cnblogs.com/keanuyaoo/p/3424178.html
Author: 风言枫语
Title: NSLog函数重写

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/552283/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • jmeter执行顺序

    本章节主要讲解”JMeter执行顺序与作用域”的内容,类似于运算符或操作符的优先级,当JMeter测试中包含多个不同的元素时,哪些元素先执行,哪些元素后执行…

    技术杂谈 2023年5月30日
    079
  • 编程技巧│浏览器 Notification 桌面推送通知

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    069
  • Python Json使用

    Python Json使用 本篇主要介绍一下 python 中 json的使用 如何把 dict转成json 、object 转成json 、以及json转成对象 等等。。 jso…

    技术杂谈 2023年7月11日
    073
  • Mac添加自定义启动图标到Launchpad

    1、使用Automator进行录制 2、选择Application 3、使用运行shell脚本 4、保存在应用程序 5、效果 参考: https://apple.stackexch…

    技术杂谈 2023年5月30日
    085
  • 【OpenGL】VAO和VBO的关系

    目录 一、VBO的作用 二、VAO的作用 三、一个VAO和多个VBO 注: VAO和VBO都是用来存储顶点信息的,并把这些信息送入顶点着色器。至于什么是顶点和顶点着色器,这里就不多…

    技术杂谈 2023年6月1日
    098
  • 常见的开源 License

    目录 什么是开源软件 什么是 license 商业许可证与开源许可证 对开发者的影响 开源许可证的类型 如何选择开源许可证 什么是开源软件 开放源代码的软件。假设有一天自我感觉代码…

    技术杂谈 2023年6月21日
    076
  • Java多线程

    join()方法使用:【已经开了3个线程ABC,要求线程A在线程B的前面执行,线程B在线程C的前面执行】 https://blog.csdn.net/zds448588952/ar…

    技术杂谈 2023年7月24日
    092
  • Kafka详解

    Kafka介绍 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,…

    技术杂谈 2023年7月24日
    066
  • jenkins 入门

    Jenkins Pipeline(或简称为 “Pipeline”)是一套插件,将持续交付的实现和实施集成到 Jenkins 中。 https://www.j…

    技术杂谈 2023年5月31日
    070
  • AD-1 Multilayer Pads with 0 size Hole found

    检查HoleInformation,HoleSize,Length是否有为0,修改即可 本博客是个人工作中记录,遇到问题可以互相探讨,没有遇到的问题可能没有时间去特意研究,勿扰。另…

    技术杂谈 2023年6月1日
    089
  • 链表算法题解题技巧归纳总结

    最近集中刷了一批链表的题型,在这里总结一下解题技巧,以及对应题目的解题思路。 解题思路并不会细致入微,主要是为了总结归类,并且希望用几句话来激发灵感,权当是没思路时的指引以及以后复…

    技术杂谈 2023年7月25日
    065
  • Go的隐秘世界:Go程序的启动和runtime初始化 asm_amd64.s

    啥语言到了底层都是会编【汇编】再不行就Debug【仿真】。 Go的隐秘世界:Go程序的启动和runtime初始化 – 知乎https://zhuanlan.zhihu….

    技术杂谈 2023年6月1日
    076
  • Java8中那些方便又实用的Map函数

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写,提升…

    技术杂谈 2023年7月24日
    063
  • Maxima 使用教程

    说起数学软件,我们很多人脑子里浮现出的第一个就是 matlab,不可否认,matlab 确实是一个优秀的数学软件,但是它需要付费啊(这里不讨论盗版问题)。那么有没有一个同样强大但免…

    技术杂谈 2023年7月11日
    089
  • 一本软考教材,治好了我多年的低血压

    事情是这样的,最近想要考一个高级软件资格证书,于是二话不说买了”信息系统项目管理师”相关资料就开始学起来了。教材一到手,刚翻开第一页读了个序言,曾经熟悉的味…

    技术杂谈 2023年7月11日
    059
  • 020 Linux 20个宝藏命令案例

    1 JDK 相关的查找命令 (1)确认是否安装 JDK (2)查找 java 命令目录的位置 (3)查找 java 命令的位置的软链地址 (4)通过软链地址查找 JDK 的安装目录…

    技术杂谈 2023年7月10日
    057
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球