`

iOS开发随笔记之 常量声明和NSUserDefaults

 
阅读更多
在iOS中,常量声明一般使用2种方式
1、使用C语言的预处理方式
 #define  APP_NAME @“demo”
 #define  kURL @“http://www.google.com”


2、使用extern  cnst c关键字,extern 表示该变量已经声明过,只是一个引用,cnst表示该变量是一个常量,不可修改。
extern NSString * const kURL;

NSString * const kURL = @"http://marshal.easymorse.com";

NSUserDefaults
NSUserDefaults类用于保存应用程序设置和属性以及用户数据。例如,你可以存储用户在应用程序中使用的图片或默认颜色方案。这些对象存储在iOS所谓的“defaults系统”中。iOS的defaults系统在整个app中都是可用的,因此存放到defaults系统中的数据也是整个应用程序生命周期中可用的。也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:
NSData
NSString
NSNumber
NSDate
NSArray
NSDictionary
如果你想保存其他类型,如UIImage,你应该进行编码(即archive),或者将它转换为NSData、NSNumber或者NSString。

查看NSUserDefaults,说到底该对象就是一个dictionary的数据结构。
NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@"Defaults: %@", defaults);


查看NSUserDefaults中某一项的值:
NSArray *array = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleKeyboards"];
NSLog(@"Keyboards: %@", array);


往NSUserDefaults中设置一个值:
[[NSUserDefaults standardUserDefaults] setObject:@"test-value2" forKey:@"test-key"];
重复给一个Key赋值,后面的会覆盖前面的。

把缓存中的数据同步到后台,程序崩溃时,未同步到后台的数据会丢失。
[[NSUserDefaults standardUserDefaults] synchronize];


最后,NSUserDefaults是单例的,同时也是线程安全的。
分享到:
评论

相关推荐

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

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

    iOS之数据持久化-NSUserDefaults

    总结,NSUserDefaults是iOS开发者必备的工具之一,用于轻量级的数据持久化。通过理解其工作原理和使用方法,我们可以更好地管理和保存用户数据,提升用户体验。在开发过程中,根据具体需求选择合适的数据持久化策略...

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

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

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

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

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

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

    IOS中NSUserDefaults保存账号密码

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

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

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

    ios开发介绍:IOS开发入门学习路线介绍

    随着移动互联网的快速发展,iOS应用开发成为了许多开发者追求的目标之一。iOS平台以其高质量的应用生态和稳定的系统环境受到广大用户的喜爱。对于初学者来说,掌握正确的学习路径至关重要。 #### 一、软件与硬件...

    iOS开发秘籍中文版 iOS 5 Programming Cookbook

    通过阅读《iOS 5 Programming Cookbook》,开发者不仅可以深入了解iOS 5的各种特性和API,还能学习到实用的编程技巧和最佳实践,提升开发效率,创造出更加出色、用户体验优秀的iOS应用。无论你是初学者还是经验丰富...

    IOS 学习笔记补充1

    "IOS学习笔记补充1"是对前期学习内容的进一步丰富和完善,旨在帮助开发者更好地理解和掌握iOS开发的关键知识点。这份笔记不仅适用于初学者,对于有一定经验的开发者来说,也是一个有价值的参考资料。 在iOS开发中,...

    NSUserDefaults的用法

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

    iphone 开发学习基础NSUserDefaults

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

    IOS开发 可以显示歌词的音乐播放器

    本项目“IOS开发 可以显示歌词的音乐播放器”就是一个很好的学习和参考实例,让我们深入探讨一下其中涉及的关键知识点。 1. **多媒体处理**:音乐播放器的核心是音频播放功能,这需要利用到AVFoundation框架。通过...

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

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

    ios开发基础视频教程

    ### iOS开发基础视频教程知识点概览 #### 一、iOS开发环境搭建 1. **Xcode安装与配置** - **Xcode下载**: 苹果官方开发者网站是获取最新版本Xcode的最佳途径。 - **Xcode安装**: 安装过程中需要注意磁盘空间的...

    ios 数据持久化存储

    在iOS开发中,数据持久化是至关重要的,它允许应用程序在用户关闭应用或者设备重启后仍然保留数据。本文将深入探讨iOS中的几种主要数据持久化技术:Preference(偏好设置)、文件存储、归档、数据库(SQLite)以及...

    苹果IOS6开发从入门到实践

    由于提供的【部分内容】中仅包含重复的网址链接,没有实际的文档内容,我将基于【标题】和【描述】中提供的信息,生成关于“苹果iOS 6开发从入门到实践”的知识点。 苹果iOS 6开发从入门到实践的知识点: 1. 开发...

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

    在iOS开发中,数据存储是不可或缺的一部分,它涉及到如何持久化应用程序的数据,以便在用户退出应用后仍能保留这些信息。本篇文章将深入探讨iOS应用中的两种主要存储方式:归档(Archiving)和偏好设置(Preference ...

    ios开发斯坦福2014课件part2

    这些文件是斯坦福大学2013-2014学年iOS开发课程的第二部分课件,主要涵盖iOS应用程序开发的关键概念和技术。通过这些课件,我们可以深入了解以下几个方面的iOS开发知识: 1. **Objective-C与Swift编程语言基础**: ...

Global site tag (gtag.js) - Google Analytics