通用文件存储

 import UIKit

 class ViewController: UIViewController {

     @IBOutlet weak var textField: UITextField!

     @IBAction func btnSave(sender: UIButton) {
         var text = textField.text as NSString

         //写入文件(可序列化)
         text.writeToFile(getPath("data.txt"), atomically: false, encoding: NSUTF8StringEncoding, error: nil)

     }

     @IBAction func btnLoad(sender: UIButton) {
         //        获取一个TXT的文件目录
         var txtFilepath = getPath("data.txt")//字符串数据
         if NSFileManager.defaultManager().fileExistsAtPath(txtFilepath) {
             var text = NSString(contentsOfFile: txtFilepath, encoding: NSUTF8StringEncoding, error: nil)
             textField.text = text as! String
         }

     }

     override func viewDidLoad() {
         super.viewDidLoad()
         /**
         通用文件存储可以进行序列化的类(字典和数组)
             NSData
             NSString(String)
             NSNumber(Int, Double, Float)
             NSDate
             NSArray(Array)
             NSDictionary
         */
 /**    自己创建的对象不能
         没有在前面可序列化对象的其他类不能(UIColor,UIImage)
         不能在自身里面
         大数据一半不用
         */

     }

     override func didReceiveMemoryWarning() {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
     }
 //获取文件目录
     func getPath(fileName:String)->String {
         var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
         var documents = paths[] as? String
         return documents!.stringByAppendingPathComponent(fileName)
     }

 }
 

iOS开发——数据持久化Swift篇&通用文件存储的更多相关文章

  1. iOS开发——数据持久化Swift篇&iCloud云存储

    iCloud云存储 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super. ...

  2. iOS开发——数据持久化Swift篇&使用Core Data进行数据持久化存储

    使用Core Data进行数据持久化存储   一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成 ...

  3. iOS开发——数据持久化Swift篇&(二)沙盒文件

    沙盒文件 //******************** 5.2 文件操作 func use_FileOperations() { //1.获取程序的Home目录 let homeDirectory = ...

  4. iOS开发——数据持久化Swift篇&文件目录路径获取(Home目录,文档目录,缓存目录等)

    文件目录路径获取(Home目录,文档目录,缓存目录等)   iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录:   1,Home ...

  5. iOS开发——数据持久化OC篇&plist文件增删改查操作

    Plist文件增删查改   主要操作: 1.//获得plist路径    -(NSString*)getPlistPath: 2.//判断沙盒中名为plistname的文件是否存在    -(BOOL ...

  6. iOS开发——数据持久化Swift篇&(三)SQLite3

    SQLite3 使用 //******************** 5.3 SQLite3存储和读取数据 func use_SQLite3() { //声明一个Documents下的路径 var db ...

  7. iOS开发——数据持久化Swift篇&(一)NSUserDefault

    NSUserDefault //******************** 5.1 NSUserDefault和对象归档 func useNSUserDefault() { //通过单利来创建一个NSU ...

  8. iOS开发——数据持久化Swift篇&SettingBundle

    SettingBundle import UIKit class ViewController: UIViewController { var userDefault = NSUserDefaults ...

  9. iOS开发——数据持久化Swift篇&(四)CoreData

    CoreData import CoreData class ViewController: UIViewController { override func viewDidLoad() { supe ...

随机推荐

  1. bzoj3203

    好题,我们先来考虑第i关,要能打死所有僵尸的攻击力得要满足什么条件我们设排头的是第i个僵尸,植物这关攻击力为yi不难得到对于第j个僵尸,植物开始打到他时,他离房子的距离为xi+(i-j)*d-(sum ...

  2. poj3254

    还是那句老话:dp关键在状态: 求有多少种排布方式,是任意两头牛不相邻(有些地方不能放): 不用心,一开始还纠结了半天 和之前USACO上某题方法是一样的,每一行放或不放只有两种情况 把它当作一个二进 ...

  3. CodeForces Round #285 Div.2

    C.Misha and Forest (图论 BFS) 比赛进行了一半才想起来有场CF没打,=_=|| 前两道题快速切掉,C题一直卡没什么好的思路 憋了几天,忍不住偷偷瞄了一下别人AC的代码,发现我题 ...

  4. sh脚本执行Java程序

    1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...

  5. 浅谈JavaBean,Entity Bean,Enterprise Bean等Bean以及POJO的含义

      一.对于java bean,就是一个java模型组件,他为使用java类提供了一种标准的格式,在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息,并能够创建和管理这些类.  jav ...

  6. [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  7. Could not locate executable null 解决办法

    问题导读: 1.建一个MapReduce Project,运行时发现出问题:Could not locate executable null,该如何解决?2.Could not locate exec ...

  8. SELinux的故障排除一例

    刚刚采用Puppet部署了dokuwiki,不过配置完成后报错: DokuWiki Setup Error The datadir ('pages') at /pages is not found, ...

  9. 线性存储结构-ArrayList、Vector

    ArrayList:采用数组的内部构建形式,也就是顺序存储模式.当新增一个对象时,如果当前长度超过预设,会使用System.arraycopy(定义一个更长的数组进行复制处理),这个时候开销比较大. ...

  10. 使用asp.net MVC4中的Bundle遇到的问题及解决办法

    背景 之前有过使用MVC3的经验,也建过MVC4的基本样例看过,知道有bundle这么一个方法. 近日想建个网站使用MVC4,但是我觉得在基本样例上改不好,有太多无用的东西,所以就建了一个空白的MVC ...