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

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

-(NSString*)description

{

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

return ret;

}

具体sample如下:

#import <Foundation/Foundation.h>

@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

NSLog函数重写的更多相关文章

  1. iOS 简单总结:description方法\NSLog函数

    1.description方法是NSObject自带的方法,包括类方法和对象方法 + (NSString *)description; // 默认返回 类名 - (NSString *)descrip ...

  2. 0-C相关01:NSlog函数介绍。

      NSlog()函数介绍: 首先:NSlog()函数是cocoa的框架中提供的一个方法: 下图中最上方是它在Xcode中的路径: : 同样都是输出函数.下边我们来看一下,在O-C中NSlog()和在 ...

  3. 7--OC中NSLog函数输出格式详解

    OC中NSLog函数输出格式详解 • %@ 对象 • %d, %i 整数 • %u 无符整形 • %f 浮点/双字 • %x, %X 二进制整数 • %o 八进制整数 • %zu size_t • % ...

  4. C++程序设计方法3:函数重写

    派生类对象包含从基类继承类的数据成员,他们构成了“基类子对象”基类中的私有成员,不允许在派生类成员函数中被访问,也不允许派生类的对象访问他们:真正体现基类私有,对派生类也不开放其权限:基类中的公有成员 ...

  5. python第四十六课——函数重写

    3.函数重写(override) 前提:必须有继承性 原因: 父类中的功能(函数),子类需要用,但是父类中函数的函数体内容和我现在要执行的逻辑还不相符 那么可以将函数名保留(功能还是此功能),但是将函 ...

  6. c++虚函数&重写

    虚函数是C++中实现多态的一种方法,父类A的一个函数声明为虚函数,在子类B中覆盖定义之后,当在调用的时候使用A*a=new B(),此时调用对应的那个虚函数的名字,则会执行B中的函数.当父类中没有定义 ...

  7. python 多态、多继承、函数重写、迭代器

    用于类的函数 issubclass(cls,class_or_tuple) 判断一个类是否继承自其他的类,如果此类cls是class或tuole中的一个派生(子类)则返回True,否则返回False ...

  8. OC中NSLog函数输出格式详解

    OC中NSLog函数输出格式详解 %@ 对象 • %d, %i 整数 • %u 无符整形 • %f 浮点/双字 • %x, %X 二进制整数 • %o 八进制整数 • %zu size_t • %p ...

  9. 函数重载(overload)和函数重写(override)

    1. 前言: 在C++中有两个非常容易混淆的概念,分别是函数重载(overload)和函数重写(overwirte).虽然只相差一个字,但是它们两者之间的差别还是非常巨大的. 而通过深入了解这两个概念 ...

随机推荐

  1. 使用opencv设置图像的格式以及帧率

    最近楼主正在写一个关于图像存储的程序,LZ有一颗求知心,想要了解保存的图像的格式以及获取摄像头帧率.晚些时候会写一篇关于opencv获取摄像头并且保存每帧图像信息方法. 1.修改图像的像素显示: 首先 ...

  2. MVC 项目中为什么会有两个web.config

    我们对MVC 并不陌生, 在创建MVC项目时,总会发现,在工程目录 中有两个 web.config 文件,一个是在工程的根目录下,一是在 views 下,两个web.config 中的内容也不尽相同, ...

  3. jsp 错误码debug记录与总结

    500: 编码错误: 无法向cookie中写入中文字符串 需要使用URLEncoder.Encode()在写入处进行转码,使用URLDecoder.decoder()在读取处进行解码 或者使用requ ...

  4. MVC项目内无法添加System.Web.Optimization

    MVC项目内无法添加System.Web.Optimization Nuget:Install-PackageMicrosoft.AspNet.Web.Optimization

  5. ASP.NET MVC 5 一 入门

    本系类教程将要构建ASP.NET MVC 5 Web 应用程序,使用的工具是VS2013 .现在有预览版可以下载了, 点击下载VS2013 FOR WEB ISO文件 .VS2012 还没用几天呢,2 ...

  6. Android IOS WebRTC 音视频开发总结(六八)-- Google: What's next for WebRTC

    本文主要从用户,公司和技术角度分析美女视频直播这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help Justio ...

  7. 30、shiro框架入门2,关于Realm

    1.Jdbc的Realm链接,并且获取权限 首先创建shiro-jdbc.ini的配置文件,主要配置链接数据库的信息 配置文件中的内容如下所示 1.变量名=全限定类名会自动创建一个类实例 2.变量名. ...

  8. VS2012调试时无法启动程序和拒绝访问问题汇总

    很多人在使用VS2012的时候会出现下面所示的问题,我也是,而且不止一次,也不是同样的问题,我这里就把一些常见的解决方法罗列一下.

  9. 用Jenkins配置自动化构建

     公司培训内容 -------------->记一笔 dubbo 微服务soadiamond-server 配置中心kafka rocketmq消息队列cas-server 单点登录spring ...

  10. Binary Tree Maximum Path Sum

    Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...