iOS学习笔记--12 NSLog相关

原创 2015年11月21日 15:27:10


一、在objective-c中,打印使用NSLog()。

常规的打印大家都清楚。

<span style="font-size:18px;">NSLog(@"%@",@"输出内容");</span>

%@:占位符;@"输出内容":输出的内容

常用的占位符如下:

%@ 对象
%d, %i 整数
%u   无符整形
%f 浮点/双字
%x, %X 二进制整数
%o 八进制整数
%zu size_t
%p 指针
%e   浮点/双字 (科学计算)
%g   浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unichar
%lld 64位长整数(long long)
%llu   无符64位长整数
%Lf 64位双字

二、做项目的时候有时需要创建model。需要打印出对象的所有成员变量,可以在model的实现文件中重写

description方法。下面是例子:

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property (nonatomic,assign)int age;
@property (nonatomic,assign)NSString *name;

@end

#import "Person.h"

@implementation Person

//重写description方法,实现打印对象的所有成员变量
-(NSString*)description{
    return [NSString stringWithFormat:@"age = %d,name = %@",_age,_name];
}

@end

Person *person = [[Person alloc]init];
    person.age = 23;
    person.name = @"wxx";
    NSLog(@"%@",person);

打印结果是:

age = 23,name = wxx


三、相关补充


NSLog(@"%d",__LINE__);//打印当前代码行号
NSLog(@"%s",__FILE__);//打印当前文件路径
NSLog(@"%s",__func__);//打印所属的方法或函数名


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS的NSLog输出格式表

%d,%i 以带符号的十进制形式输出整数(证书不输出符号) %o 以八进制无符号形式输出整数(不输出0前缀) %x 以十六进制无符号形式输出整数(不输出0x前缀) %u 以无符号十进制形式输出整数 %...
  • u012382791
  • u012382791
  • 2016年03月13日 23:16
  • 1437

iOS开发 替换NSLog打印设置

在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度...
  • tubiebutu
  • tubiebutu
  • 2015年07月10日 08:44
  • 1029

iOS 自定义NSLog

//第一种 #ifdef DEBUG #define CLog(format, ...) NSLog(format, ## __VA_ARGS__) #else #define CLog(fo...
  • saw471
  • saw471
  • 2016年06月01日 12:14
  • 988

IOS项目去除NSLog

使用NSLogt的目的是为了调试,并在调试阶段输出一些信息,但是在调试结束,应用发布后,如果还使用NSLog输出信息,那样会影响性能。事实上,这个工作量比较大,而且刚刚移除掉时,你会发现又要进行调试,...
  • WadeZhangPeng
  • WadeZhangPeng
  • 2016年03月06日 21:33
  • 758

iOS开发, 关于nslog的几种用法

DEBUG和RELEASE要分开,RELEASE时log打印要取消 方法一:简单直接,用几行代码搞定,简洁但功能少 #ifdef DEBUG #define NSLog(...) ...
  • yuanyuan1314521
  • yuanyuan1314521
  • 2015年12月15日 17:45
  • 1158

iOS中NSlog重定向到文件

1、应用场景: 对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,这样才能取出分析。 2、相关知识: 日志输出,分为c的printf和标准的NS...
  • xiaonaiping061
  • xiaonaiping061
  • 2016年03月03日 16:09
  • 1774

iOS开发debug跟release版本NSLog屏蔽方法

简单介绍以下几个宏: 1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参...
  • jiajiayouba
  • jiajiayouba
  • 2015年01月21日 19:28
  • 6596

iOS release版本中去掉NSLog输出

最近项目不是很忙,所以又来整理一下代码,首先发现项目中很多地方都用了NSLog,这是不科学的。那必须得解决一下啊,随便一搜索都知道怎么搞了,我just做一个转载: 即:在.pch文件中添加下面一段:...
  • lvmaker
  • lvmaker
  • 2015年02月03日 16:33
  • 4768

OC NSLog 打印格式 自定义 时间戳

oc 中 NSLog打印 1.我们在调试阶段一般需要在控制台打印一些信息,在发布的时候 ,不希望打印。 2.有时不希望信息简单些,不需要时间戳之类的信息, 3.或者想打印自己想要的信息,需要自定...
  • u011980994
  • u011980994
  • 2015年03月11日 17:44
  • 2814

自定义NSLog宏

// 自定义Log #define JKLog(...) NSLog(__VA_ARGS__)
  • Jerk_G
  • Jerk_G
  • 2016年01月27日 10:36
  • 319
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS学习笔记--12 NSLog相关
举报原因:
原因补充:

(最多只允许输入30个字)