Hi,大家好,好久不见了。从Java转到iOS开发也有相当的一段时间了,在这方面还没有开始写过关于iOS的文章,今天算是第一篇,关于NSUserDefaults在iOS8和iOS8之前的差异。
进入正题:在最近的项目的项目中发现NSUserDefaults保存的plist文件找不到了。我以前是记得在模拟器的/Users/*****/Library/Application Support/iPhone Simulator/4.1/Applications/29788E40-AF47-45A0-8E92-3AC0F501B7F4/Library/Prefereces中有个[bundle id].plist,关于NSUserDefaults的使用数据都是保存在这里的,在Xcode6之后,一切都变了,/Users/*****/Library/Developer/CoreSimulator/Devices/1F01B18A-DF22-4ABF-9415-2DD25CB7E281/data/Containers/Bundle/Application,里面没有了关于NSUserDefaults的plist的文件了,找了一圈也没有找到。因为某些应用会用到这里面数据来判断,是否是第一次安装(是否进入引导页),同步数据标志位等操作,运用Xcode6之后发现这个文件被系统接管了,也就是说当用户把app删除之后,关于NSUserDefaults的plist文件还存在于系统中,里面的数据也还在,当再次安装此app时,就会导致出错,本来应该进入引导页而没有进入,本来应该同步所有的数据而同步了从标志位开始的数据。出现这个问题之后,在现有的项目中都是在app中新建一个文件来与plist文件结合。
举个例子:同步数据
第一次安装了APP,判断APP中是否有某个文件,如果没有则创建该文件,并同步数据,此时同步数据的标志位肯定为空,数据同步完成之后设置同步标志位到plist文件中。当第二次打开APP时,直接从plist中去标志位去同步数据。当APP被卸载之后重新安装,由于plist文件还存在,所以进行数据同步之前先检查文件是否存在,不存在则创建该文件,并把plist文件中的标志位设置为空,然后同步……
分享到:
相关推荐
在iOS应用开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置或者轻量级的数据。这个压缩包"IOS应用源码——NSUserdefaults(读取和写入自定义对象).zip"包含了一个示例项目,展示了...
在iOS开发中,`NSUserDefaults` 是一个非常常用的数据持久化工具,它主要用于存储用户的一些偏好设置或者轻量级的数据。当需要在应用的不同会话之间持久化数据,比如用户的登录状态、账号或密码等信息时,`...
使用系统的NSUserDefaults进行存取值实在是难以对其进行统一管理,为此NSUserDefaultsModel就很好的解决了这一难题,并且还支持Cocoapods。 github地址:https://github.com/liuchongfaye/NSUserDefaultsModel ...
总结,iOS应用在需要保存用户设置或临时数据时,可以利用NSUserDefaults。通过封装NSUserDefaults,我们可以创建一个通用的工具类,简化存储和检索数据的过程,提高代码的复用性。在实际项目中,还可以根据需求扩展...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置和轻量级数据。这个源码Demo主要展示了如何使用`NSUserDefaults`来读取和写入自定义对象,这对于理解和实践iOS应用的本地数据...
在iOS应用开发中,`NSUserDefaults` 是一个非常重要的组件,它用于存储用户偏好设置或者轻量级的数据。本源码示例主要讲解如何利用`NSUserDefaults`在iOS应用中进行自定义对象的读取与写入操作。下面将详细阐述`...
NSUserDefaults是iOS开发中一个非常重要的类,用于存储用户的基本偏好设置和轻量级的数据。它提供了简单的方法来读取和写入数据,这些数据在应用的生命周期内保持持久化,并在用户下次打开应用时仍然可用。这个教程...
这个教程我们将深入探讨iOS中的数据持久化,特别是如何使用NSUserDefaults来实现。 一、NSUserDefaults概述 NSUserDefaults,又称用户默认设置,是iOS中用于存储用户偏好设置和轻量级数据的类。它是一个全局的单例...
IOS 中NSUserDefaults读取和写入自定义对象的实现方法 NSUserDefaults可以存取一些短小的信息。 比如存入再读出一个字符串到NSUserDefaults: NSString *string = [NSString stringWithString @hahaha]; ...
NSUserDefaults是iOS平台上的一种轻量级的数据持久化方法,主要用于存储用户偏好设置或者应用程序的状态数据。在Objective-C中,它是苹果提供的Foundation框架的一部分,为开发者提供了一种简单的方式来读写小型数据...
在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储并检索轻量级的用户偏好设置或应用状态数据。本教程针对初学者,将深入探讨`NSUserDefaults`的基本用法,包括如何设置、读取值以及如何持久化...
Swift中的`NSUserDefaults`是苹果iOS、macOS等操作系统中用于存储轻量级用户偏好设置的主要方式。它提供了一个简单易用的接口,让开发者能够快速读取和写入用户的个性化设置,而无需复杂的数据库操作。在本文中,...
LUKeychainAccess, 与NSUserDefaults类似的iOS钥匙串服务的包装器 LUKeychainAccess 与 NSUserDefaults 类似的iOS钥匙串服务的包装器。用法将下列文件导入项目中,然后使用 #import 文件。LUKeychainAccess....
iOS中的偏好设置,通常被称为NSUserDefaults,是一种轻量级的数据存储方式,适用于存储简单的键值对,如用户首选项。你可以通过键值来存储和读取基本数据类型,如字符串、整数、浮点数等。使用`UserDefaults`类可以...
iOS中有五种持久化数据的方式:属性列表、对象归档、NSUserDefaults、SQLite3和Core Data NSUserDefaults官方文档介绍: NSUserDefaults类为和默认系统类交互提供了一种编程接口。默认系统允许应用程序去定制其行为...
6. **数据持久化**:iOS提供了多种存储数据的方式,包括NSUserDefaults、Core Data和SQLite。理解这些技术可以帮助开发者根据需求选择合适的数据存储方案。 7. **网络编程**:移动应用往往需要与服务器通信,因此...
6. **持久化数据**:Title Lecture 12 Persistence讨论了如何在iOS设备上保存和恢复数据,包括使用Core Data、NSUserDefaults和SQLite等方法。 7. **核心定位与地图服务**:Title Lecture 11 Core Location Map Kit...