当前位置: 首页 > news >正文

最基本的操作

//关于目录的获取
//获取沙盒目录(算是跟目录吧)
        NSHomeDirectory()
//获取document目录(常用)
        let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
    //或者
FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
//获取library目录
        var libraryPath = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)
//获取caches(缓存目录)目录
        var cachesPath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)
//获取temp目录
        var tempPath = NSTemporaryDirectory()


//关于fileManager对象的常用操作
//创建文件管理员(相当于我们hibernate的sessionFactory)
        let fileManager = FileManager.default
//判读文件或目录是否存在
        let result = fileManager.fileExists(atPath: path)
//新增目录
            try! fileManager.createDirectory(atPath: path,
                withIntermediateDirectories: true, attributes: nil)
//删除目录或文件
            try! fileManager.removeItem(atPath: path)
//创建文件
       fileManager.createFile(atPath: path, contents: nil, attributes: nil)


//关于userDefault的常用操作
//获取userDefault的实例
        let userDefaults = UserDefaults.standard
//往实例里对数据
        userDefaults.set(Date(), forKey: refreshKey)
//数据从实例里取出来并强制回原来类型
        let date = userDefaults.object(forKey: refreshKey) as? Date

//关于创建plist的数组或字典的写入和读取操作
// 构建路径
        let namesPath = "\(documentsPath)/names.plist"
        
 // 名字的数组
        let names: NSArray = ["aaa", "bbb", "ccc", "maizixueyuan"]
        names.write(toFile: namesPath, atomically: true)
        
 // 读取数据,输出结果
        let entries = NSArray(contentsOfFile: namesPath)!
        print(entries)
//------------------------------
// 构建路径
        let studentsPath = "\(documentsPath)/students.plist"
        
// 学生的字典
        let students: NSDictionary = ["sno": "1101", "name": "maizixueyuan", "score": 100]
        students.write(toFile: studentsPath, atomically: true)
        
 // 读取数据,输出结果
        let data = NSDictionary(contentsOfFile: studentsPath)!

 

转载于:https://www.cnblogs.com/LarryBlogger/p/6186542.html

相关文章:

  • 【基础】MVC路由规则
  • 如何让vim自动显示函数声明-使用 echofunc.vim插件
  • Mysql 修改数据库,mysql修改表类型,Mysql增加表字段,Mysql删除表字段,Mysql修改字段名,Mysql修改字段排列顺序,Mysql修改表名...
  • 【BZOJ】1699 [Usaco2007 Jan]Balanced Lineup排队
  • Django 注册信息相关 与外键跨表查询
  • MathType输入框怎么调整
  • 彻底理解推送
  • CentOS7.2编译安装LNMP
  • 如何写3DMAX的插件
  • Centos7上安装tomcat
  • 论车牌识别与电子警察关系
  • hbase通过row key 的前缀查询记录
  • 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
  • PHP课程总结20161222
  • 画虚线
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【Amaple教程】5. 插件
  • Android系统模拟器绘制实现概述
  • Angular数据绑定机制
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Java反射-动态类加载和重新加载
  • JS+CSS实现数字滚动
  • Median of Two Sorted Arrays
  • Mybatis初体验
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Redis 中的布隆过滤器
  • Redis的resp协议
  • redis学习笔记(三):列表、集合、有序集合
  • SQLServer之创建数据库快照
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • webpack入门学习手记(二)
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 官方解决所有 npm 全局安装权限问题
  • 机器学习学习笔记一
  • 基于axios的vue插件,让http请求更简单
  • 协程
  • 应用生命周期终极 DevOps 工具包
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • RDS-Mysql 物理备份恢复到本地数据库上
  • # Panda3d 碰撞检测系统介绍
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (02)vite环境变量配置
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (3)nginx 配置(nginx.conf)
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计大学生兼职系统
  • (一)UDP基本编程步骤
  • ../depcomp: line 571: exec: g++: not found
  • .NET的数据绑定
  • .NET开发者必备的11款免费工具
  • @AliasFor注解
  • @private @protected @public
  • @RequestParam详解