Swift学习,NSLog的使用一

我的开发环境

  • 操作系统:OS X EI Capitan 10.11.1 (15B42)
  • 电脑型号:MacBook Pro(Retina 显示屏,15 英寸,2013 年末)
  • 处理器:2.3 GHz Intel Core i7
  • 内存:16 GB 1600 MHz DDR3
  • Xcode:7.1 (7B91b)

开始开发

如果没有苹果机的需要通过虚拟机安装OS X或者使用黑苹果,具体怎么弄的百度一下一大堆,我就不在这里说了。开发环境的搭建与安装也不说了,直入主题吧。

在开发过程中,如果想知道程序运行到某一个方法了,或者是想知道运行时的某个值是多少,一般有两种方法:1、Debug调试 2、日志信息输出

记得以前刚开始学Java的时候,老是喜欢使用控制台打印变量。

System.out.println("asdfasdf");

现在切换到Swift,一样可以在控制台输出变量。

println("asdfasdf")

上面的swift代码行末尾没有分号,这个不是我写错了,这点有点像Python。swift语言在设计的时候借鉴过其他很多语言的有点,其中包括脚本语言。所以,有点像也不奇怪。

言归正传,这种方式的变量记录也就用在自己玩玩的时候,如果真的是认真的去做东西,这么记录肯定是不行的。

假设你做了一个项目,放到AppStore上面去了,下载的人还挺多的。某天用户A告诉你说某某功能不能用了,这时候就查看NSLog记录的日志,然后才能根据日志中输出的关键变量来大概分析产生问题的原因。

说了这么多,先看下NSLog的定义:

func NSLog(format:String,args:CVararg)

函数由格式化字符串和参数组成。

其实这个函数本身没啥好说的,只是想说明一下日志的重要性。
使用也很简单,写个小例子吧,我也是现学现用。

import Foundation

var str = "Hello,playground"

print(str)
NSLog(str)
for(var i=0;i<10;i++){
    NSLog("MySwift%d",i)
}

输出如下:
Hello,playground
2015-11-07 16:40:07.601 MyPlayground[77233:11735691] Hello,playground
2015-11-07 16:40:07.601 MyPlayground[77233:11735691] MySwift0
2015-11-07 16:40:07.601 MyPlayground[77233:11735691] MySwift1
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift2
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift3
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift4
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift5
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift6
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift7
2015-11-07 16:40:07.602 MyPlayground[77233:11735691] MySwift8
2015-11-07 16:40:07.603 MyPlayground[77233:11735691] MySwift9

不难看出,println函数和NSLog输出的区别。NSLog可以打印出当前输出时间与调用该日志函数的位置。

NSLog("MySwift%d",i)

注意一下上面这段代码
字符串里面有一个占位符或者叫指示符『%d』,他代表的是数字,这种写法我也喜欢把它叫做字符串格式化。

占位符很多,如果不经常使用也记不下来,现在记录一下,方便以后查询

指示符 描述
%@ 对象,String、Array、Dictionary等都是对象
%% 『%』字符
%d,%D 带符号的32位整数
%u,%U 无符号的32位整数
%x,%X 无符号的32位整数,按照16进制输出
%o,%O 无符号的32位整数,按照8进制输出
%f 64位浮点数
%e,%E 64位浮点数,按照科学记数法输出
%c 八位无符号字符
%C 16位Unicode字符
%a,%A 64位浮点数,按照科学记数法输出
%F 64位浮点数,按照16进制输出

NSLog在什么时候使用?这个问题其实没有一个绝对的答案。可以用在关键的变量记录上,也可以用在是否进入关键函数体的记录上。具体使用得看情况。

NSLog基本上算是介绍完了,日志记录是编程必须要掌握并且合理的利用起来的一门技能。

我准备在学习swift的过程中时刻记录,这篇博文就是这组swift学习系列博文的第一篇博文,写的有点拖沓。以后我的风格就是简洁,这个系列的博文就像是字典。以后忘记了,随时能过来查,而且还没那么多废话。

今天就到这,我得开始学swift基本语法了,学完了就来记录。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...