网站报价表对比表怎么做,广州室内设计公司排名,延吉 网站建设,12306网站学生做printf和NSlog区别
NSLog会自动加上换行符#xff0c;不需要自己添加换行符#xff0c;NSLog会加上时间和进程信息#xff0c;而printf仅将输入的内容输出不会添加任何额外的东西。两者的输入类型也是有区别的NSLog期待NSString*#xff0c;而printf期待const char *。最本…printf和NSlog区别
NSLog会自动加上换行符不需要自己添加换行符NSLog会加上时间和进程信息而printf仅将输入的内容输出不会添加任何额外的东西。两者的输入类型也是有区别的NSLog期待NSString*而printf期待const char *。最本质的区别在于NSLog输出的日志在debug下面NSLog的输出会被写到system.log而printf是不具备日志属性的。 NSLog的定义 NSLog定义在NSObjCRuntime.h中如下所示 void NSLog(NSString *format, …); 基本上NSLog很像printf同样会在console中输出显示结果。不同的是传递进去的格式化字符是NSString的对象而不是char *这种字符串指针。
NSLog可以如下面的方法使用 NSLog (this is a test); NSLog (string is :%, string); NSLog (x%d, y%d, 10, 20); 但是下面的写法是不行的 int i 12345; NSLog( %, i ); 原因是 %需要显示对象而int i明显不是一个对象要想正确显示要写成 int i 12345; NSLog( %d, i );
NSLog的格式如下所示 % 对象
%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位双字
声明以常见的先行短线和位于圆括号中的返回类型开头
-void
参数类型在圆括号中指定号是方法名称最重要的组成部分。
如果方法使用参数就需要冒号否则不需。
就Objective-C语言而言创建一个类非常简单。它非常典型的分成了两个部分。 类的接口通常保存在ClassName.h文件里它定义了实例的参数以及一些公开的方法。 类的实现在ClassName.m文件里。它包含了真正运行的代码和那些方法。它还经常定义一些私有的方法。这些私有的方法对于子类是不可见的。 这里有一个接口文件的大概。类名Photo所以文件名叫Photo.h:
#div_code img { border: 0px none; } #import interface Photo : NSObject { NSString* caption; NSString* photographer; } end 首先我们把Cocoa.h import进来。Cocoa的应用程序的所有的基本的类大多都是这样做的。#import宏指令会自动的避免把同一个文件包含多次。 interface符号表明这是Photo类的声明。冒号指定了父类。上面这个例子父类就是NSObject。 在大括弧里面有两个变量caption和photographer。两个都是NSString类型的。当然了他们也可以是任何别的类型包括id类型的。 最后end结束整个声明。