[ios]NSUserDefault保存自定义object问题

NSUserDefault 

的setObject 只能对少数 NSString等少数非自定义对象保存。

那么如果要保存自定义对象则需要。

使用[NSKeyedArchiver archivedDataWithRootObject:]归档以下将对象封装成NSData,再使用NSUserDefault保存。

使用时需要解压缩unarchiveObjectWithData

 

demo:

+(id)highImage{

    NSData* data = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"higt_image"];

    id image= [NSKeyedUnarchiverunarchiveObjectWithData:data];

    NSLog(@"image!:%@",image);

    if(image){

        return image;

    }

    return [UIImageimageNamed:@"Default.png"];

}

+(void)setHighImage:(UIImage*)image{

    NSLog(@"image!:%@",image);

    NSData* data=[NSKeyedArchiverarchivedDataWithRootObject:image];

    [[NSUserDefaultsstandardUserDefaults] setObject:data forKey:@"higt_image"];

}

 

参考:http://blog.youkuaiyun.com/chyroger/article/details/5785297

史上最强量化工具库 Ta-Lib 从入门到精通,一篇文章就够了! Ta-Lib 提供的 13 个关键指标,并配上详细的代码示例,确保你看完就能直接上手!🔥。 阅读详情

相关推荐

【rk3566/3568】Android 11移植gms

【rk3566/3568】Android 11移植gms 1、前言 测试功能时,想去Google play store去下个应用测试,发现通过网页搜索总是下载不到正确的谷歌服务框架;于是就不得不去搞一个内置的gms。 2、移植 1、需要下载Android 11对应的gms的包 opengapps 2、看下文件目录 直接移植core里面的文件,GAPPs Optional按需添加 3、在vendor下创建google目录 ...

lin_ff的博客 7645

iOS -NSUserDefault详解

NSUserDefaults是什么,有什么用处 对于应用来说,每个用户都有自己的独特偏好设置,而好的应用会让用户根据喜好选择合适的使用方式,把这些偏好记录在应用包的plist文件中,通过NSUserDefaults类来访问,这是NSUserDefaults的常用姿势。如果有一些设置你希望用户即使升级后还可以继续使用,比如玩游戏时得过的最高分、喜好和通知设置、主题颜色甚至一个用户头像,那么你可以使

qq_27909209的博客 2911

STM32F4驱动ES8388音频芯片的I²S时钟与DMA流设计

I²S(Inter-IC Sound)是一种广泛应用于嵌入式音频系统的同步串行总线协议,其核心在于精确的时钟同步与稳定的数据流传输。理解I²S时钟树结构(含MCLK、SCLK、WS生成逻辑)和分频机制,是保障CD级音质(如44.1kHz/16bit)的基础;而DMA双缓冲技术则解决了实时音频播放中数据供给连续性的关键工程问题。在STM32F4等Cortex-M4平台中,需协同配置PLLI2S锁相环、I²S预分频寄存器(I2SxPR)及DMA循环模式,同时兼顾ES8388等Codec芯片的I²C初始化时序与寄

weixin_35390379的博客 244

IOS开发之使用NSUserDefault记住用户名密码

一般的登录界面都会有一个记住密码的选项,要实现这个功能可以使用NSUserDefault,这里只是讲解明文的处理方式,虽然这样是有一定的风险性的但是目前只是了解如何实现这个功能: 首先声明一个NSUserDefault对象: let userDefaults = NSUserDefaults.standardUserDefaults()    //本地操作所需 然后根据是否记

zhaoxiaoyao1987的专栏 2356

基于微信小程序的答题系统

学习视频:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!5812)]《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_83330193的博客 498

YOLO26涨点改进 | 独家主干改进篇 | CVPR 2024 | YOLO26利用InceptionNeXt主干,将大核深度卷积分解为四个并行分支,在提升性能的同时显著降低计算效率

本文聚焦YOLO26的核心涨点改进——基于CVPR 2024收录的InceptionNeXt主干网络,深度拆解了其“大核深度卷积四分支拆解”的核心逻辑,通过实验验证了改进的有效性,同时提供了可快速复现的工程代码与进一步涨点的思路。

qq_36130719的博客 574

iOS基础:NSUserDefault

一、NSUserDefault存储和获取数据 git@code.youkuaiyun.com:snippets/1660540.git 二、利用NSUserDefault判断程序启动 git@code.youkuaiyun.com:snippets/1660616.git

gongwutianya的博客 901

Claude Code(7):从零创建你的第一个 Skill

在前面的文章,我们介绍了 Skills 的基本概念,这篇我们深入实战,从零开始创建你的第一个 Skill,并逐步解锁所有配置项,让 Claude Code 真正熟悉你的测试规范和习惯。

blues_C的博客 646

iOS开发之NSUserDefault详解

我们平时总用到NSUserDefault来实现简单的本地存储,下面我们就深入了解一下NSUserDefault,还有很多我们没见过的地方。 本文资料是我从网上了解搜集而来。 NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这

WJP19930121的博客 2913

AWR2243的等效相位中心与虚拟通道

在俯仰维方向上,不重合的虚拟通道有8个,排序为1:4,9:12。每个虚拟阵元之间的间隔为lambda/2。实际y轴方向虚拟阵列只跨越了8*lambda/2的距离。等效相位中心与虚拟通道类似,只是每个相位中心之间间隔为lambda/4,实际y轴方向等效相位中心只跨越了8*lambda/4=7.59mm的距离

qq_50974341的博客 1981

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 616

IOS NSUserDefault详解

http://blog.youkuaiyun.com/wjp19930121/article/details/51506469http://www.cnblogs.com/tiantianbyconan/p/3405308.html

专注移动开发 813

猿创征文|SfM(Structure from Motion)学习之路

SfM全称Structure from Motion,译为运动恢复结构,是三维重建pipeline的一部分,又称稀疏重建,在摄影测量领域则称为空三(空中三角测量)。SfM的任务是,给定一系列具有一定重叠度的图像,去同时估计出拍摄每张图像时相机的的位姿(位置t和姿态R)和被拍摄物体或场景的稀疏点云。...............

zeeq的博客 1万+

iOS 【NSUserDefault -- synchronize 浅析】

如何将数据即时写入数据沙盒

CoderZYWang 3567

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ios之NSUserDefault存储自定义类型的对象

ios中存储小数据的类NSUSerDefault只能存储NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型,要是存储其他类型的对象,会提示或报错“Attempt to set a non-property-list object”。其实存储自定义类型对象也是可以的,步骤如下: 1.自定义

calmisi的博客 1646

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

iOS —— NSUserDefault存储自定义数据类型

[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '' of class 'UIImage'.  Note that dictionaries and arrays in property lists must also contain only property values. NSUserDe

crystal_198874的专栏 2025

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【iOS7的一些总结】6、采用NSUSerDefault保存用户默认数据

采用NSUserDefault类可以实现对系统的“default”信息进行操作的方法,简而言之可以理解为一种简单数据的持久化方法。除此之外在iOS中还存在多种保存数据的方法,如sqlite、core data等。NSUserDefault与这些方法相比操作非常简单,但是这个类的实质是一个plist文件,改动任意一个元素也将会load整个文件,因此保存大量信息时效率很低下。所以通常使用这个类保存如用

Workshop of Wenjie.Yin 1673

IOS 关于 NSUserDefault

转载 并不是所有的东西都能往里放的。NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary. NSUserDefaults的方法中用来记录一下永久保留的数据非常方便,不需要读写文件,而是保留到一个NSDictionary字典里,由系统保存到文件里,系统会保存到该应用下的/Library/Preference...

weixin_33895657的博客 994

iOS 使用NSUserdefault 保存自定义的 对象

一:NSUserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSData,NSArray,NSDictionary,BOOL类型; 二:可以把自定义的对象,转换为NSData来达到存储对象到NSUserDefaults的目的; 如代码:   1:model.h     #import <Foundatio...

weixin_34209851的博客 209

iOS 数据存储--NSUserDefault

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的;使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。NSU

u013915422的博客 538

NSUserDefault 的synchronize用法

在iOS开发中,对一些数据的保存,我们经常使用到NSUserDefault,NSUserDefault保存数据比较简单,但需要注意的是,NSUserDefault保存数据是定时把数据写入磁盘缓存中,所以,如果在NSUserDefault把数据写入磁盘缓存之前退出程序,就会造成数据丢失,这时候我们可以使用synchronize语法,把数据立即写入磁盘中。 [[NSUserDefaults stand...

weixin_41832561的博客 1462

IOS之保存登录状态

登录保存

wangdan1030的博客 1022

ios中NSUserDefault的使用

NSUserDefaults的使用 创建一个user defaults方法有多个,最简单得快速创建方法:    NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults]; 添加数据到 user defaults:    [accountDefaults setObject:nameFiel

binyanye1的专栏 2万+

解决NSUserDefault 偶尔保存数据无效

一:情景 解决NSUserDefault 偶尔保存数据无效 今天用NSUserDefault保存一些少量的数据,但是发现 setObject时,有时成功!有时就是不成功! 二:解决方法 [[NSUserDefaults standardUserDefaults] setObject:selectedItemsArray forKey:kRisk_NEWS_PIN_DAO_Dat...

weixin_33790053的博客 415

iOS Plist,NSUserDefault,归档总结

最近总结iOS本地化策略,,还是5种策略,Plist,NSUserDefault,归档,sqlite,苹果自带的coreData Plist 这是比较常用的明文本地存储方式,全名属性列表,像app的配置文件等的信息,一般后缀为.plist,文件的格式以XML的形式展现。优点就是用起来比较方便,缺点就是容易暴露信息。 因为是本地的东西,所以需要存储路径,先创建本地路径 //pl

rpf的博客 1009

树莓派NAS搭建全攻略:从硬件选型到开源项目实战

NAS(网络附加存储)是一种通过局域网提供文件共享和数据备份的存储方案,其核心原理是将存储设备接入网络,利用Samba或NFS等协议实现跨平台访问。在低功耗场景下,树莓派凭借其ARM架构和丰富接口成为搭建轻量NAS的热门选择,但供电、散热和存储接口带宽往往成为性能瓶颈。通过合理选型树莓派5与NVMe固态,结合Docker容器化部署下载、媒体服务,可构建高性价比的家庭存储节点。本文围绕一款外观实用大方的开源树莓派NAS项目,深入拆解硬件匹配、系统挂载、权限配置及常见掉盘排查链路,为嵌入式存储方案提供可复现的工

weixin_33937778的博客 368
上一篇: [cocos2d-iphone]ios6截图问题
下一篇: [cocos2d-iphone]跳帧
iPoolo
博客等级 码龄17年 2粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值