Swift2.0系列]Error Handling(项目应用篇)

news/2024/7/2 23:35:26

1.FileManager中的应用

倘若你只是想看FileManager中的 Error Handling是如何实现的,请找到3.删除文件以及4.获取文件信息。我分别为你提供了do-catch以及try?的使用方法。

打开Xcode,选中Single View Application,输入项目名称例如FileManagerDemo,点击Next,选择文件放置路径。此时你已经建立了一个新的工程。

选中ViewController.swift文件,找到viewDidload()文件,写入如下的代码。

override func viewDidLoad() {super.viewDidLoad()// 1.获取路径操作代码// 沙盒下有三个目录 分别是Documents/Library/tmp 通常我们将文件放到Documents下// 获取document的文件夹路径var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)let pathDocuments = path[0]print(pathDocuments)// 2. 创建文件操作let file1 = "file1.txt"let file2 = "file2.txt"let file1Path: String = NSString(format: "%@/%@", pathDocuments,file1) as String//生成一个绝对路径let file2Path: String = NSString(format: "%@/%@", pathDocuments,file2) as String//生成一个绝对路径// 进行file1文件生成操作if NSFileManager.defaultManager().fileExistsAtPath(file1Path as String){print("文件已存在")}else{let data = "Hello world By Swift2.0 file1".dataUsingEncoding(NSUTF8StringEncoding)NSFileManager.defaultManager().createFileAtPath(file1Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法}// 进行file2文件生成操作if NSFileManager.defaultManager().fileExistsAtPath(file2Path as String){print("文件已存在")}else{let data = "Hello world By Swift2.0 file2".dataUsingEncoding(NSUTF8StringEncoding)NSFileManager.defaultManager().createFileAtPath(file2Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法}// 3.删除文件 将原先的创建的删除let deletePath = NSString(format: "%@/%@", pathDocuments,file1) as Stringprint("要删除的文件路径:\(deletePath)")do{try NSFileManager.defaultManager().removeItemAtPath(deletePath)}catch let error as NSError{print("error is \(error)")}// 以下内容只做拓展/*var arrayContent = NSArray(contentsOfFile: filePath)//必须是完整路径var dictContent = NSDictionary(contentsOfFile: filePath)var imgContent = UIImage(contentsOfFile: filePath)*/// 4.获取文件信息// 文件属性 是一个字典类型let attrFile1 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file1Path)let attrFile2 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file2Path)print(attrFile1)//打印nil 因为file1不存在print(attrFile2)//打印出信息}



文/PPPPPPMST(简书作者)
原文链接:http://www.jianshu.com/p/8e1fe654bdec
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

http://lihuaxi.xjx100.cn/news/235622.html

相关文章

FastJson 转换 javaBean 时 null 值被忽略都问题

[toc] 问题 当 JavaeBean 中某个属性值为 null 时,转换为 JSONObject 对象或者 json 字符串时,该属性值被忽略。如何让不管值是否为 null,转化后该属性还存在,只是值为 null。 情况演示 class St {private String sid;private Str…

Swoft 2 Beta 发布,基于 Swoole 的云原生协程框架

Swoft 是首个基于 Swoole 原生协程的框架,从开发到发布据今已有2年多。 1.x 发布以来,已有大量的开发人员和企业使用,得到了大家的认可。从去年11月份开始,将近半年的时间从零开始,底层吸取之前经验,基于 S…

Linux驱动: rtc子系统

1. 前言 限于作者能力水平,本文可能存在的谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 背景 本文分析代码基于Linux 3.10内核,硬件平台为嵌入式ARM32平台. 3. rtc子系统 3.1 相关代码文件列表 drivers/rtc/class.c …

cnblogs不愧为cnblogs

在cnblogs落脚3天了,写了一些很实践的文章,很有成就感,为什么?我第一次为是否发表这篇文章而作出思考,以前在别的地方,总是转别人的文章居多,到了cnblogs,感受到了原创的精神——即使…

NSHelper.showAlertTitle的两种用法 swift

var model : CarCity CarCity() if (NSString.isNullOrEmpty(locationLabel.text)) { NSHelper.showAlertTitle(nil, message: "暂无法定位,请检查网络。", cancel: "确定") return } if (NSString.isNullOrEmpty(plateTextFild.text)) { NSHe…

怎么使用CAD编辑器来打开图纸中的所有图层

在CAD绘图中,建筑设计师们不仅要对CAD图纸进行编辑,还要对CAD图纸进行查看,一张图纸中是有许多图层的,那在查看的过程中有的时候把其他的图层进行隐藏了,那如果想要把隐藏的CAD图层进行打开要怎么操作?如何…

sql server中的hash应用优化

sql server很多地方用到hash,计划缓存查找,hash连接,hash聚合等。 hash查找mssql很多设计中都应用了,不过我们能在开发设计中,也可以利用这个特性。 将如果有需求对大文本进行完全匹配,比如查找产品型号&am…

研究人员测试27个黑客服务 结果仅三个完成任务

现代电子邮件帐户不仅是一个电子邮件地址,它还是人们在网络上的身份的基础,可用于申请各种网络服务或重置服务密码,以便持有电子邮件的黑客服务帐户很受欢迎,为了了解这些服务的功能,谷歌和加州大学圣地亚哥分校的研究…