OutMan——Foundation框架中的NSDate类、NSCalendar类以及NSFileManager类

NSDate和NSCalendar

  • NSDate:一般用NSDate对象来表示时间
  • NSCalendar:可以帮我们快速的获取年、月、日、时、分、秒等信息
  • 结合NSCalendar和NSDate能做更多的日期、时间处理

NSDate

  • 用NSDate对象来表示时间,相比用结构体表示时间的好处:
    用NSDate对象表示时间,对象能增加一些方法

一、NSDate的简单实用
<1> 创建一个时间对象
这里写图片描述
- 使用注意:
创建一个NSDate的时间对象,用NSLog( )输出发现,和我们当前时间不一样,原因是打印出来的时间不是北京时间,而是0时区的时间(格林威治时间),北京在东八区,北京时间比0时区(格林威治时间)快8个小时。

二、将NSDate对象转为字符串,并且显示当前的北京时间
这里写图片描述
- 使用注意:
1. NSDateFormatter是一个日期格式化类
2. 通过df.dateFormat来设置日期的显示格式
3. yyyy代表年 MM代表月 dd代表日
4. HH代表时(24小时制) hh代表时(12小时制) mm代表分 ss代表秒

三、将字符串中的时间转为NSDate对象
这里写图片描述

四、计算日期
(1) 明天的此刻
这里写图片描述
- 使用注意:
明天的此刻距离今天的此刻24*60*60秒,从现在开始走过24*60*60秒就是明天的此刻

(2) 昨天的此刻
这里写图片描述
- 使用注意:
昨天的此刻距离今天的此刻24*60*60秒,从现在开始走过负的24*60*60秒就是昨天的此刻

(3)计算从现在开始到某一时间走过多少秒
这里写图片描述

(4)比明天此刻晚30秒的时间时间
这里写图片描述

NSCalendar

一、NSCalendar的简单使用:
这里写图片描述
- 使用注意:
1. components:获取日期的哪部分
2. NSCalendarUnit是个枚举类型
    NSCalendarUnitYear 年
    NSCalendarUnitMonth 月
    NSCalendarUnitDay 日
    NSCalendarUnitHour 时
    NSCalendarUnitMinute 分
    NSCalendarUnitSecond 秒
3. fromDate:日起对象

二、比较两个字符串中日期的差距:
这里写图片描述

NSFileManager

一、什么是NSFileManager
        NSFileManager是用来管理文件系统的,它可以用来进行常见的文件\文件夹操作
        NSFileManager使用了单例模式singleton,使用defauleManager方法可以获得那个单例对象
        [NSFilemanager defaultManager];

二、NSFileManager的基本使用(常见判断)
(1)判断某个路径是否存在
这里写图片描述
这里写图片描述
- 使用注意:
1. 调用defaultManager方法,创建的是一个文件管理的单例对象
2. 单例对象:在程序运行期间,只有一个对象存在

(2)判断是否为文件夹
这里写图片描述
- 使用注意:
1. fileExistsAtPath:路径
2. isDirectory:这里要传一个BOOL *类型的数据(填一个BOOL类型变量的地址,用来接受返回的结果,YES:是文件夹;NO:是文件)

(3)判断文件是否可读
这里写图片描述

(4)判断文件是否可写
这里写图片描述

(5)判断文件是否可以删除
这里写图片描述

三、NSFileManager的用法深入(一)
(1)获取文件的信息
这里写图片描述
- 使用注意:
上述方法返回的是NSDictionary类型的

(2)获取指定目录下的文件及子目录
<1> 方式一:
这里写图片描述
这里写图片描述
- 使用注意:
1. 使用上述方法获取目录中的内容,也会将目录下的子目录的文件及目录获取
2. 上述方法使用的是递归方式来获取当前目录及子目录下的所有的文件和文件夹
3. 上述方法返回的是NSArray类型的

<2> 方式二:
这里写图片描述
这里写图片描述
- 使用注意:
1. 使用上述方法获取目录中的内容,也会将目录下的子目录的文件及目录获取
2. 上述方法使用的不是递归方式来获取当前目录及子目录下的所有的文件和文件夹(推荐使用这种方法)
3. 上述方法返回的是NSArray类型的

(3)获取指定目录下的文件名及子目录名
这里写图片描述
这里写图片描述
- 使用注意:
1. 使用上述方法获取目录中的内容,获取的只是目录下的文件名和子目录名(不会获取目录下子目录的后代路径)
2. 上述方法返回的是NSArray类型的

四、NSFileManager的用法深入(二)
(1)创建目录
这里写图片描述
这里写图片描述
- 使用注意:
1. createDirectoryAtPath:要创建的文件夹路径
2. withIntermediateDirectories:YES / NO
YSE:自动创建路径中缺少的目录 (自动创建了aaa目录和bbb目录)
NO:不会自动创建路径中缺少的目录
3. attributes:目录的属性字典(可填nil)
4. error:错误对象(可填nil)

(2)创建文件
这里写图片描述
这里写图片描述
- 使用注意:
1. createFileAtPath:要创建的文件路径
2. contents:文件的内容(NSData类型的数据)
3. attributes:文件的属性字典(可填nil)
4. dataUsingEncoding:NSUTF8StringEncoding(一种编码方式)
5. - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;
调用NSString对象的对象方法,将NSString类型的对象转为NSData类型的对象

(3)copy文件
这里写图片描述
这里写图片描述
- 使用注意:
1. copyItemAtPath:被拷贝文件的路径
2. toPath:路径(拷贝到哪里)

(4)移动文件
这里写图片描述
这里写图片描述
- 使用注意:
1. moveItemAtPath:被移动文件的路径
2. toPath:路径(移动到哪里)

(5)删除文件
这里写图片描述
这里写图片描述
- 使用注意:
1.removeItemAtPath:待删除文件的路径

五、NSFileManager文件下载思路:
1. 客户端发送请求给服务器,请求下载某个文件
2. 服务器发出响应,返回文件数据
3. 手机客户端利用NSData来存放服务器返回的文件数据
4. 利用NSFileManager将NSData里面的文件数据写到新的文件中(createFile)
这里写图片描述


                                        —— 如果您有不同的见解,请随时指出,期待与您的交流!——


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值