iOS研发中的数据存储包括以下几种方式:pList文件、NSUserDefault、Archiver、sqlite、CoreData。
1、pList文件
funcsaveWithfile() { ///1、获得沙盒的根路径 lethome=NSHomeDirectory()asNsstring; ///2、获得documents路径,使用Nsstring对象的stringByAppendingPathComponent()方法拼接路径 letdocPath=home.stringByAppendingPathComponent("documents")asNsstring; ///3、获取文本文件路径 letfilePath=docPath.stringByAppendingPathComponent("data.pList"); vardataSource=NSMutableArray(); dataSource.addobject("衣带渐宽终不悔"); dataSource.addobject("为伊消得人憔悴"); dataSource.addobject("故国不堪回首明月中"); dataSource.addobject("人生若只如初见"); dataSource.addobject("暮然回首,那人却在灯火阑珊处"); //4、将数据写入文件中 dataSource.writetofile(filePath,atomically:true); println("\(filePath)"); } funcreaDWithfile() letdataSource=NSArray(contentsOffile:filePath); println("\(dataSource)"); }
2、NSUserDefaults存储数据
funcsaveWithNSUserDefaults() ///1、利用NSUserDefaults存储数据 letdefaults=NSUserDefaults.standardUserDefaults(); //2、存储数据 defaults.setobject("衣带渐宽终不悔",0); background-color:inherit">forKey:"name"); //3、同步数据 defaults.synchronize(); } funcreaDWithNSUserDefaults() letdefaults=NSUserDefaults.standardUserDefaults(); letname=defaults.objectForKey("name")asNsstring; println("\(name)"); }
3、归档存储(对象需要实现NSCoding协议,归档对应encode,反归档对应decode)
@H_382_419@/** 归档数据 需要实现NSCoding协议 */ funcsaveWithNSKeyedArchiver() lethome=NSHomeDirectory()asNsstring; letfilePath=docPath.stringByAppendingPathComponent("book.data"); letbook=CFAddressBook(name:"Francis",0); background-color:inherit">call:"199"); /** *数据归档处理 NSKeyedArchiver.archiveRootObject(book,0); background-color:inherit">tofile:filePath); }
*/ funcreaDWithNSKeyedUnarchiver() { letdocPath=home.stringByAppendingPathComponent("documents")asNsstring; letfilePath=docPath.stringByAppendingPathComponent("book.data"); letbook=NSKeyedUnarchiver.unarchiveObjectWithfile(filePath)asCFAddressBook; println("\(book.name),\(book.call)"); } 总结
以上是内存溢出为你收集整理的Swift研发中的数据缓存之一(plist文件、NSUserDefault、Archiver)全部内容,希望文章能够帮你解决Swift研发中的数据缓存之一(plist文件、NSUserDefault、Archiver)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)