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进制输出
%f64位浮点数
%e,%E64位浮点数,按照科学记数法输出
%c八位无符号字符
%C16位Unicode字符
%a,%A64位浮点数,按照科学记数法输出
%F64位浮点数,按照16进制输出

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值