码迷,mamicode.com
首页 > 其他好文 > 详细

NSlog的%@是如何打印出字符串信息的

时间:2015-07-25 16:36:21      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

  在OC中,我们通过NSlog打印的时候往往使用:

NSlog(@"%@",myIPhone);

   打印的结果,往往是我们所需要的一些信息, 但是%@其实本质只是取到一个地址.

 我们先建一个Iphone类,声明如下的成员变量.

    @public

    float _cpu;  //描述cpu功能的变量

    float _ram;  //描述内存功能的变量

    IPColor _color;  // 描述颜色的变量

    IPSize  _size;   // 描述尺寸的变量

声明一个方法,在m文件中实现

- (void) aboutMyIphone{

NSLog(@"我的手机信息cpu:%f color=:%d size:%d ram:%f",_cpu,_color,_size,_ram);

 }

 在main函数中,我们导入头文件然后创建一个myIphone的对象并对它进行赋值,然后获取它的信息就可以通过调用上面这个方法.

但是想要直接在main文件中通过:

NSlog(@"%@",myIPhone);

打印,结果却是一个地址信息,并没有能通过调用上面函数的得到一个具体的字符串的信息.

所以,我们在Iphone类中写这样一个方法:

-(NSString *)description{

    NSString*str=[NSString stringWithFormat:@"我的手机信息:cpu:%f   ram: %f  Color: %d  Size:%d" ,_cpu,_ram,_color,_size];

    return  str;

}

 

这个description方法是NSObject中已经有的方法,我们只需要对它进行重写,即可将%@所得的地址改变为我们所需的字符串.

 

    

NSlog的%@是如何打印出字符串信息的

标签:

原文地址:http://www.cnblogs.com/FlyZebra110/p/4676087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!