1. 程式人生 > >iOS NSUserDefaults簡介及使用

iOS NSUserDefaults簡介及使用

NSUserDefaults類提供了一個與預設系統進行互動的程式設計介面。NSUserDefaults物件是用來儲存,恢復應用程式相關的偏好設定,配置資料等等。預設系統允許應用程式自定義它的行為去迎合使用者的喜好。你可以在程式執行的時候從使用者預設的資料庫中讀取程式的設定。同時NSUserDefaults的快取避免了在每次讀取資料時候都開啟使用者預設資料庫的操作。可以通過呼叫synchronize方法來使記憶體中的快取與使用者預設系統進行同步。

NSUserDefaults類提供了非常方便的方法來獲取常用的型別,例如 floats,doubles,intergers,Booleans,URLs。所以一個NSUserDefaults的物件必須是屬性表,這也就是說 我們可以儲存NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary這些例項。如果你想儲存其他類 型的物件,你要將其歸檔並建立一個NSData來實現儲存。

從NSUserDefaults返回的值是不可改變的,即便是你在儲存的時候使用的是可變的值。例如你使用mutable string做為“MyStringDefault”的值,當你做使用stringForKey:方法獲取的值,這個值仍然是不可變的。

NSUserDefaults是單例,同時也是執行緒安全的

在使用NSUserDefaults的時候,先看下下面的程式碼:

NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@"Defaults: %@", defaults);

 是用來獲取裝置上的所有的NSUserDefaults的設定。

上面程式碼輸出了

Defaults: { AppleITunesStoreItemKinds =     ( eBook, document, "software-update", booklet, "itunes-u", newsstand, artist, podcast, "podcast-episode"
, software ); AppleKeyboards =     ( "[email protected]=Pinyin;hw=US", "[email protected]=US;sw=QWERTY" ); AppleKeyboardsExpanded = 1; AppleLanguages =     ( "zh-Hans", en, fr, de, ja, nl, it, es, pt, "pt-PT", da, fi, nb, sv, ko, "zh-Hant", ru, pl, tr, uk, ar, hr, cs, el,

相關推薦

iOS NSUserDefaults簡介使用

NSUserDefaults類提供了一個與預設系統進行互動的程式設計介面。NSUserDefaults物件是用來儲存,恢復應用程式相關的偏好設定,配置資料等等。預設系統允許應用程式自定義它的行為去迎合使用者的喜好。你可以在程式執行的時候從使用者預設的資料庫中讀取程式的

iOS CocoaPods簡介基本使用

級別: ★☆☆☆☆ 標籤:「iOS」「CocoaPods」「依賴庫」 作者: MrLiuQ 審校: QiShare團隊 問題:在我們日常開發中,難免會用到一些第三方庫(比如AFNetworking、SDWebImage...),而這些第三方庫也許會引用一些別的第三方庫,於是我們又要引入別的第

NSUserDefaults簡介使用

NSUserDefaults NSUserDefaults類提供了一個與預設系統進行互動的程式設計介面。NSUserDefaults物件是用來儲存,恢復應用程式相關的偏好設定,配置資料等等。預設系統允許應用程式自定義它的行為去迎合使用者的喜好。你可以在程式執行的時候從使用者

python簡介基礎入門 day1

blog 美女 顯示 中文 公開 wid 能開 程序 cnblogs    一、python介紹: Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。 Python由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年

LDAP簡介LDAP服務器的安裝與配置

默認 access 目的 ani pro sta 目錄服務 unit onf 一、LDAP簡介 全稱:Lightweight Directory Access Protocol,目錄服務是一種特殊的數據庫系統,其專門針對讀取。 LDAP目錄中的信息是按照樹型結構組織,具體信

SOA 服務架構之簡介理解

時代 底層原理 需要 松耦合 hit 面向服務 ges 都在 觀察 也許你已經深入其中卻不知,今天我們撥開雲霧見月明,闡明SOA是何方神聖! SOA 英文:Service-Oriented Architecture,面向服務的架構。 是一種面向通用集成服務的、松耦合的架構

iOS—UI-手勢控件(segment switch slider)的使用

art 使用 per back int dds white array add // // ViewController.m // UI-手勢及控件練習 // // Created by jzq_mac on 15/7/24. // Copyrigh

maven 之maven簡介安裝

分享 運行 項目信息 ava 信息 專家 not 編碼 bin 1. maven:行內,專家。基於java的項目構建功能,依賴管理,項目信息管理,Maven是一個項目構建工具。 2.構建:指日常開發中經常完成的除了編碼外的一些動作。如:清理,編譯,測試,運行,報告,部署等動

redis 之 redis簡介下載安裝

移動 持久化 文檔 acl inf zxvf osql .cn ted 1. 數據庫的分類:關系型數據庫,非關系型數據庫(Nosql) 2.非關系型數據庫: 鍵值型數據庫:redis 等。 列式存儲數據庫: hbase 等。 文檔型數據庫 : mongoDB 等。 圖形數

Linux目錄簡介哲學思想

第三方軟件 文件夾 配置文件 操作系統 二進制 /頂級目錄自引導/root 超級用戶家目錄/sys存放系統硬件信息/opt 第三方軟件安裝目錄/proc 存放進程的文件目錄,是虛擬文件夾不在硬盤中存放/sbin 二進制文件目錄/usr 存放二進制程序和一些系統相關的文件/home

IOS Quartz2D簡介

hat draw eat attribute create 畫出 會有 asp 取圖 Quartz2D 簡介( 後續會有相關應用) 第一部分 繪制直線 代碼示例: - (void)drawRect:(CGRect)rect{ //獲取圖形上下文 CGC

【轉】Nodejs學習筆記(一)--- 簡介安裝Node.js開發環境

ack 目錄 javascrip 難度 時間 網站開發 clas jetbrains 常用 目錄 學習資料 簡介 安裝Node.js npm簡介 開發工具 Sublime Node.js開發環境配置 擴展:安裝多版本管理器 學習資料   1.深入淺出Node.j

C++ 泛型程序設計與STL模板庫(1)---泛型程序設計簡介STL簡介與結構

urn 向上 隊列 是把 鏈表 需要 input stack 特定 泛型程序設計的基本概念 編寫不依賴於具體數據類型的程序 將算法從特定的數據結構中抽象出來,成為通用的 C++的模板為泛型程序設計奠定了關鍵的基礎 術語:概念 用來界定具備一定功能的數據類型。例如:

交換機的簡介數據通信過程,子網掩碼路由基礎

交換機 數據通信 過程 交換機1.什麽是交換機?交換機(Switch)意為“開關”是一種用於電(光)信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。最常見的交換機是以太網交換機。簡單地說:交換機用來共享一根網線,路由器用來共享一個IP。也就是說,如果一根網線上想接幾個

while與do while 區別 for循環的簡介break和continue的區別

停止 alt 執行c light div type 結構 輸入 n) do while 循環和while循環的區別 1、do while循環是先執行循環體,然後判斷循環條件,如果為真,則執行下一步循環,否則終止循環; while循環是先判斷循環條件,如果條件為真則

Day47:HTML(簡介常用標簽)

back tar one cli 搜索 meta標簽 ges 總結 images 一、HTML簡介 html是什麽? 超文本標記語言(Hypertext Markup Language,HTML)通過標簽語言來標記要顯示的網頁中的各個部分。一套規則,瀏覽器認識的規則。 瀏

JS/JavaScript簡介基本常識

標記 非模態 ava javascrip ron 窗口 模式 賦值 窗體 JavaScript   (JS)以客戶端事件為驅動的弱類型腳本語言   JS腳本一般寫在<head>內部   流:文本流、html流   回避關鍵字的基本策略:單詞合並(v_fu

Mysql Group Replication 簡介單主模式組復制配置【轉】

ror ipv4 mysql命令 value tail force action dmi where 一 Mysql Group Replication簡介 Mysql Group Replication(MGR)是一個全新的高可用和高擴張的MySQL集群服務。

ios初識UITableView簡單用法

label all ret clas interface tlab spa pre implement // // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. /

ios初識UITableView簡單用法二(模型數據)

ati ins int class test tab 所有 super viewdata // // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. // Copy