`

NSUserDefaults(plist)

ios 
阅读更多

/* 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-NSUserDefaults替代品:NSUserDefaultsModel(基于Runtime写的库).zip

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

    XBUserDefaults:利用OC RunTime封装NSUserDefaults

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

    数据持久化之Plist

    代码展示了使用NSUserDefaults保存与删除数据,另外列举了Plist文件的创建、修改,删除

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

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

    NSUserDefaults-SettingsBundle

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

    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数据存储,FMDB封装,SQL使用等,有需要的小伙伴可以看看!

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

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

    iOS应用开发中SQLite的初步配置指南

    (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题。 举例:使用归档 两个问题: (1)数据的存取都必须是完整的,...

    使用偏好设置、属性列表、归档解档保存数据、恢复数据

    ### 使用偏好设置、属性列表、归档解档保存数据、恢复数据这个demo通过以下四种方式保存、恢复数据:- NSUserDefaults (偏好设置)- property list 即Plist (属性列表)- NSKeyedArchiver NSKeyedUnarchiver(归档...

    InAppSettingsKit:此iOS框架允许将设置添加到应用内,而不是添加到“设置”应用中

    为了支持传统的Settings.app窗格,该应用程序必须包括一个Settings.bundle其中至少包含一个Root.plist以使用NSUserDefaults键指定设置UI元素的连接。 InAppSettingsKit基本上只使用相同的Settings.b

    Troubleshooting.Xcode.14842156

    NSUserDefaults not working for a sandboxed app Chapter 24. Interface elements not updating Chapter 25. Find and replace using regex Chapter 26. Extracting a dictionary from an array Chapter 27. ...

    Troubleshooting.Xcode.1484215613

    NSUserDefaults not working for a sandboxed app Chapter 24. Interface elements not updating Chapter 25. Find and replace using regex Chapter 26. Extracting a dictionary from an array Chapter 27. ...

    详解iOS开发中app的归档以及偏好设置的存储方式

    在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦; 偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息) 归档:因为前两者都有一个...

    iOS10 widget实现3Dtouch 弹出菜单

    文章将依次从以下几个问题着手,进行详细说明: 1、如何为现有的工程添加widget;...图4 删除默认创建的MainInterface并修改Info.plist 这里,删除默认创建的MainInterface.storyboard,并按图4所示修改Inf

    校园助手iOS端HutHelper-Open.zip

    图片直接使用UI给的图片,另外的话有很多数据是在这个界面初始化的viewDidLoad()方法中,需要计算APP打开的此时的周数,并且通过NSUserDefaults类将其数据存储到plist文件中判断是否为第一次登陆,是的话跳转到登陆...

Global site tag (gtag.js) - Google Analytics