`

NSUserDefaults(plist)

阅读更多

/* NSUserDefaults 可以用來儲存使用者的偏好設定(它會被存成一個 .plist 檔案),你可以把它想成是 iOS app 的 localStorage,而且 NSUserDefaults 不只可以儲存字串,還可以儲存任何 Objective-C data type。

 */

 

// 你得先宣告一個 NSUserDefaults 物件,在同一個 app 裡,它是 singleton(單例)

NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];

 

// set

[userPrefs setObject:@"a123456789" forKey:@"userID"];

[userPrefs setInteger:24 forKey:@"age"];

[userPrefs setBool:YES forKey:@"isLogin"];

 

// remove

[userPrefs removeObjectForKey:@"debts"];

[userPrefs synchronize];

 

// get

NSString *userID = [userPrefs stringForKey:@"userID"];

BOOL isLogin = [userPrefs boolForKey:@"isLogin"];

 

 

// 要注意的是,set 或 remove 之後,記得執行 [userPrefs synchronize],已確保資料被寫入硬碟裡。再保險一點,你還可以:

- (void)applicationWillEnterForeground:(UIApplication *)application

{

    /*

     Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

     */

 

    [[NSUserDefaults standardUserDefaults] synchronize];

}

 

 

/* 如果你是在模擬器上測試,NSUserDefaults 的資料會被儲存在 /Users/[USERNAME]/Library/Application Support/iPhone Simulator/5.1/Applications/[SIMULATOR_APP_ID]/Library/Preferences/[BUNDLE_ID].plist。

 

/Users/[USERNAME]/Library/ 要開啟「顯示隱藏檔」的功能才看得到 */

分享到:
评论

相关推荐

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

    但需要注意的是,`NSUserDefaults` 不适合存储大量数据或结构复杂的数据,因为它并不是数据库,而是基于plist文件的存储机制。 在`NSUserDefaults`中存储自定义对象时,需要遵循`NSCoding`协议。这个协议定义了两个...

    XBUserDefaults:利用OC RunTime封装NSUserDefaults

    几乎每个iOS项目中都会使用到NSUserDefaults,作为iOS开发常用的五种数据存储方式之一(NSUserDefaults、plist、NSKeyedArchiver、FMDB、CoreData),NSUserDefaults算是最易用的了。但是项目中用的多了之后key管理...

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

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

    数据持久化之Plist

    下面将详细介绍Plist在iOS中的使用,包括如何使用NSUserDefaults进行数据保存和删除,以及Plist文件的创建、修改和删除。 首先,`NSUserDefaults`是iOS系统提供的一个类,用于存储用户偏好设置和轻量级数据。它的...

    iOS基础——数据存储之沙盒机制、Plist、Perference、归档、反归档

    本文将深入探讨iOS的基础数据存储方法,包括沙盒机制、Plist、Preference(偏好设置)、归档和反归档。理解并熟练掌握这些技术对于构建功能完善的iOS应用至关重要。 首先,我们要了解iOS应用的“沙盒”机制。每个...

    iphone NSUserDefaults的一个实例

    在iOS开发中,`NSUserDefaults` 是一个至关重要的组件,它允许开发者存储和检索轻量级的用户偏好和应用设置。本实例将深入探讨如何在iPhone应用程序中使用`NSUserDefaults`,以及如何结合`Settings Bundle`来提供...

    iOS数据持久化之属性列表和归档

    iOS数据持久化之属性列表和归档,NSUserDefaults,Plist,NSKeyedArchiver

    NSUserDefaults-SettingsBundle

    NSUserDefaults+SettingsBundle 允许您使用 Settings.bundle/Root.plist 文件的“DefaultValue”初始化 NSUserDefaults 的默认值。 这样你就不必指定它们两次。使用 CocoaPods 安装是 Objective-C 的依赖管理器,它...

    DemoPlist源码文档

    - 应用程序沙盒内的常见Plist路径:`NSDocumentDirectory`、`NSLibraryDirectory`、`NSUserDefaults`。 - 在应用中获取Plist文件路径通常使用`NSSearchPathForDirectoriesInDomains`函数。 3. **Plist文件类型** ...

    Secure-NSUserDefaults:无法在设备之间修改或共享的用户默认设置

    您还可以将用户默认值链接到在其上创建的计算机,从而无法共享plist。 请注意,此实现不使用加密。 因此,不适合存储敏感数据。用法将NSUserDefaults+MPSecureUserDefaults.h和NSUserDefaults+MPSecureUserDefaults....

    利用plist进行多语言切换(iPhone源代码)

    demo中为了演示方便使用NSUserDefaults 进行存储用户设置。 作者说:本demo只是设置多语言的一个小技巧方法,代码比较简单,还希望大家多多补充和反馈:) 小编注:感谢作者@李辉Melon 分享原创代码于Code4App。 ...

    ios-数据的持久化.zip

    使用几个小例子分别实现 归档NSKeyedArchiver、NSUserDefaults、plist文件数据存储,简单直观,代码地址https://github.com/fancyLi/data-store。

    iOS关于数据持久化的

    在iOS应用开发中,数据持久化是至关重要的一个环节,它允许应用程序在用户退出或设备重启后仍能保存和恢复数据。本资料主要探讨的是iOS中的数据存储方式,特别是使用FMDB库对SQLite数据库进行封装以及SQL语言的应用...

    ZSSUserDefaults:NSUserDefaults替代多个用户默认值

    当需要为多个用户保存默认值时, ZSSUserDefaults可以替代NSUserDefaults 。 通过为每个用户编写一个.plist文件来保存默认值。 我需要在应用程序中为多个用户保存非私有默认值时创建此文件。 这个怎么运作 ...

    逆向传值之NSUserDefaultvALUE传值

    逆向工程师可以通过查看应用程序的沙盒目录,找到对应的`.plist`文件,直接读取或修改`NSUserDefaults`中的数据。此外,他们还可以使用工具如`Cycript`或`frida`动态地在运行时查看或修改`NSUserDefaults`的内容,以...

    IOS Settings 设置 Object-C

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; BOOL isNotificationsEnabled = [defaults boolForKey:@"NotificationSwitchKey"]; ``` 如果你想在应用启动时自动同步设置,可以在`...

    iphone全局变量配置

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:@"configValue" forKey:@"configKey"]; NSString *value = [defaults objectForKey:@"configKey"]; ``` 2. 读取`.plist`...

    Setting Bundle 设置

    3. 在应用中,我们可以通过`NSUserDefaults`读取用户在设置中所做的更改。 在实际开发中,我们还需要处理用户在设置中更改值后的反馈,例如通过监听`UserDefaults`的变更,或者使用`NotificationCenter`监听`...

    数据持久化

    通过写入到.plist文件,数据可以在程序的后续运行中读取。使用NSArray或NSDictionary对象,配合写入和读取方法,可以方便地实现数据持久化。 3. **NSUserDefaults**:NSUserDefaults是系统提供的一个单例,用于存储...

    iOS中几种数据持久化方案 --X枫林1

    本文将详细介绍几种常见的数据持久化方案,包括plist文件、偏好设置、NSKeyedArchiver、SQLite 3以及CoreData,并讨论iOS应用的沙盒机制。 首先,我们来理解一下iOS的沙盒机制。每个iOS应用都有一个独特的沙盒环境...

Global site tag (gtag.js) - Google Analytics