`
karvenlin
  • 浏览: 28398 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

iOS8关于NSUserDefaults

阅读更多
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文件中的标志位设置为空,然后同步……
0
0
分享到:
评论

相关推荐

    IOS应用源码——NSUserdefaults(读取和写入自定义对象).zip

    在iOS应用开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置或者轻量级的数据。这个压缩包"IOS应用源码——NSUserdefaults(读取和写入自定义对象).zip"包含了一个示例项目,展示了...

    IOS中NSUserDefaults保存账号密码

    在iOS开发中,`NSUserDefaults` 是一个非常常用的数据持久化工具,它主要用于存储用户的一些偏好设置或者轻量级的数据。当需要在应用的不同会话之间持久化数据,比如用户的登录状态、账号或密码等信息时,`...

    ios-NSUserDefaults替代品:NSUserDefaultsModel(基于Runtime写的库).zip

    使用系统的NSUserDefaults进行存取值实在是难以对其进行统一管理,为此NSUserDefaultsModel就很好的解决了这一难题,并且还支持Cocoapods。 github地址:https://github.com/liuchongfaye/NSUserDefaultsModel ...

    iOS 本地存储NSUserDefaults封装代码

    总结,iOS应用在需要保存用户设置或临时数据时,可以利用NSUserDefaults。通过封装NSUserDefaults,我们可以创建一个通用的工具类,简化存储和检索数据的过程,提高代码的复用性。在实际项目中,还可以根据需求扩展...

    IOS源码应用Demo-NSUserdefaults(读取和写入自定义对象).zip

    在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储用户偏好设置和轻量级数据。这个源码Demo主要展示了如何使用`NSUserDefaults`来读取和写入自定义对象,这对于理解和实践iOS应用的本地数据...

    IOS应用源码——NSUserdefaults(读取和写入自定义对象).rar

    在iOS应用开发中,`NSUserDefaults` 是一个非常重要的组件,它用于存储用户偏好设置或者轻量级的数据。本源码示例主要讲解如何利用`NSUserDefaults`在iOS应用中进行自定义对象的读取与写入操作。下面将详细阐述`...

    NSUserDefaults的用法

    NSUserDefaults是iOS开发中一个非常重要的类,用于存储用户的基本偏好设置和轻量级的数据。它提供了简单的方法来读取和写入数据,这些数据在应用的生命周期内保持持久化,并在用户下次打开应用时仍然可用。这个教程...

    iOS之数据持久化-NSUserDefaults

    这个教程我们将深入探讨iOS中的数据持久化,特别是如何使用NSUserDefaults来实现。 一、NSUserDefaults概述 NSUserDefaults,又称用户默认设置,是iOS中用于存储用户偏好设置和轻量级数据的类。它是一个全局的单例...

    IOS 中NSUserDefaults读取和写入自定义对象的实现方法

    IOS 中NSUserDefaults读取和写入自定义对象的实现方法 NSUserDefaults可以存取一些短小的信息。 比如存入再读出一个字符串到NSUserDefaults: NSString *string = [NSString stringWithString @hahaha]; ...

    自己写的一个NSUserDefaults Demo

    NSUserDefaults是iOS平台上的一种轻量级的数据持久化方法,主要用于存储用户偏好设置或者应用程序的状态数据。在Objective-C中,它是苹果提供的Foundation框架的一部分,为开发者提供了一种简单的方式来读写小型数据...

    iphone 开发学习基础NSUserDefaults

    在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储并检索轻量级的用户偏好设置或应用状态数据。本教程针对初学者,将深入探讨`NSUserDefaults`的基本用法,包括如何设置、读取值以及如何持久化...

    Swift 用户首选项 NSUserDefaults

    Swift中的`NSUserDefaults`是苹果iOS、macOS等操作系统中用于存储轻量级用户偏好设置的主要方式。它提供了一个简单易用的接口,让开发者能够快速读取和写入用户的个性化设置,而无需复杂的数据库操作。在本文中,...

    LUKeychainAccess, 与NSUserDefaults类似的iOS钥匙串服务的包装器.zip

    LUKeychainAccess, 与NSUserDefaults类似的iOS钥匙串服务的包装器 LUKeychainAccess 与 NSUserDefaults 类似的iOS钥匙串服务的包装器。用法将下列文件导入项目中,然后使用 #import 文件。LUKeychainAccess....

    ios 数据持久化存储

    iOS中的偏好设置,通常被称为NSUserDefaults,是一种轻量级的数据存储方式,适用于存储简单的键值对,如用户首选项。你可以通过键值来存储和读取基本数据类型,如字符串、整数、浮点数等。使用`UserDefaults`类可以...

    iOS 数据持久化(三)NSUserDefaultsDemo

    iOS中有五种持久化数据的方式:属性列表、对象归档、NSUserDefaults、SQLite3和Core Data NSUserDefaults官方文档介绍: NSUserDefaults类为和默认系统类交互提供了一种编程接口。默认系统允许应用程序去定制其行为...

    IOS7应用开发入门经典.第5版.pdf.zip

    6. **数据持久化**:iOS提供了多种存储数据的方式,包括NSUserDefaults、Core Data和SQLite。理解这些技术可以帮助开发者根据需求选择合适的数据存储方案。 7. **网络编程**:移动应用往往需要与服务器通信,因此...

    iOS程序开发教程(PPT+代码)

    6. **持久化数据**:Title Lecture 12 Persistence讨论了如何在iOS设备上保存和恢复数据,包括使用Core Data、NSUserDefaults和SQLite等方法。 7. **核心定位与地图服务**:Title Lecture 11 Core Location Map Kit...

Global site tag (gtag.js) - Google Analytics