IOS中NSUserDefaults的用法(轻量级本地数据存储)

CANoe/CANalyzer新手必看:从零配置到报文分析的完整流程(附B站官方教程实操) 本文为CANoe/CANalyzer新手提供从零配置到报文分析的完整流程指南,涵盖硬件连接、工程配置、报文捕获及信号级分析等关键步骤。通过详细的实操案例和B站官方教程,帮助工程师快速掌握汽车电子总线分析工具的核心应用,提升诊断效率与通信系统理解。 阅读详情

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。

因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。

NSUserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。很实用吧

NSUserDefaults很方便,读取也很容易。下面给出一个示例看看如何使用:(PS:更详细的也可以参考官方文档哈)

ViewController.h文件中主要是放几个控件,用于显示存储的数据:

 

[self saveNSUserDefaults];  //调用此方法将各种数据存储到NSUserDefautls中,在下面定义  

[self readNSUserDefaults];  //调用此方法从NSUserDefautls中读取各种数据,在下面定义  

 

//保存数据到NSUserDefaults

-(void)saveNSUserDefaults

{

    NSString *myString = @"enuola";

    int myInteger = 100;

    float myFloat = 50.0f;

    double myDouble = 20.0;

    NSDate *myDate = [NSDate date];

    NSArray *myArray = [NSArray arrayWithObjects:@"hello", @"world", nil];

    NSDictionary *myDictionary = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"enuo", @"20", nil] forKeys:[NSArray arrayWithObjects:@"name", @"age", nil]];

   

    //将上述数据全部存储到NSUserDefaults中

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    //存储时,除NSNumber类型使用对应的类型意外,其他的都是使用setObject:forKey:

    [userDefaults setInteger:myInteger forKey:@"myInteger"];

    [userDefaults setFloat:myFloat forKey:@"myFloat"];

    [userDefaults setDouble:myDouble forKey:@"myDouble"];

   

    [userDefaults setObject:myString forKey:@"myString"];

    [userDefaults setObject:myDate forKey:@"myDate"];

    [userDefaults setObject:myArray forKey:@"myArray"];

    [userDefaults setObject:myDictionary forKey:@"myDictionary"];

   

    //这里建议同步存储到磁盘中,但是不是必须的

    [userDefaults synchronize];

   

}

 

//从NSUserDefaults中读取数据

-(void)readNSUserDefaults

{

    NSUserDefaults *userDefaultes = [NSUserDefaults standardUserDefaults];

   

    //读取数据到各个label中

    //读取整型int类型的数据

    NSInteger myInteger = [userDefaultes integerForKey:@"myInteger"];

    txtInteger.text = [NSStringstringWithFormat:@"%d",myInteger];

   

    //读取浮点型float类型的数据

    float myFloat = [userDefaultes floatForKey:@"myFloat"];

    txtFloat.text = [NSString stringWithFormat:@"%f",myFloat];

   

    //读取double类型的数据

    double myDouble = [userDefaultes doubleForKey:@"myDouble"];

    txtDouble.text = [NSStringstringWithFormat:@"%f",myDouble];

   

    //读取NSString类型的数据

    NSString *myString = [userDefaultes stringForKey:@"myString"];

    txtNSString.text = myString;

   

    //读取NSDate日期类型的数据

    NSDate *myDate = [userDefaultes valueForKey:@"myDate"];

    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    [df setDateFormat:@"yyyy-MM-ddHH:mm:ss"];

    txtNSDate.text = [NSStringstringWithFormat:@"%@",[df stringFromDate:myDate]];

   

    //读取数组NSArray类型的数据

    NSArray *myArray = [userDefaultes arrayForKey:@"myArray"];

    NSString *myArrayString = [[NSString alloc] init];

    for(NSString *str in myArray)

    {

        NSLog(@"str= %@",str);

        myArrayString = [NSString stringWithFormat:@"%@  %@", myArrayString, str];

        [myArrayString stringByAppendingString:str];

        //        [myArrayStringstringByAppendingFormat:@"%@",str];

        NSLog(@"myArrayString=%@",myArrayString);

    }

    txtNSArray.text = myArrayString;

   

    //读取字典类型NSDictionary类型的数据

    NSDictionary *myDictionary =[userDefaultes dictionaryForKey:@"myDictionary"];

    NSString *myDicString = [NSString stringWithFormat:@"name:%@,age:%d",[myDictionaryvalueForKey:@"name"], [[myDictionary valueForKey:@"age"] integerValue]];

    txtNSDictionary.text = myDicString;

}

闲人闲谈PS之一项目库存跨公司业务STO解决方案--SAP闲人的开篇 写这篇文章之前,简单说一下发这篇文章的动机。也算是在SAP这一行干了快10多年,在对一个模块了解越来越深入,越发觉自己的SAP知识浅薄。总的来说,和多数顾问一样,对于**标准功能**的应用业务场景理解还是存在或多或少的知识盲区。 因为一个偶然,看到SAP团子君的文章,分享了很多干货文章。这也是自己一直想做的时候,不管水平高低与否,分享本身就意味着提升。好了废话不多说,先在优快云上发一篇吧,困惑自己将近10年的问题的解决方案。 业务场景:在项目型企业中,通常会有这样的业务,母公司和客... 阅读详情

相关推荐

告别Modern Standby噩梦:Win11睡眠断网冻结的根源剖析与S3睡眠回归实战

本文深入剖析了Windows 11中Modern Standby(现代待机)模式导致睡眠后断网、系统冻结等问题的根源,指出其与硬件驱动、后台活动的兼容性矛盾。文章提供了通过修改注册表键值强制系统回归稳定S3睡眠状态的详细实战步骤,帮助用户彻底解决睡眠故障,实现可靠的远程访问与挂机任务。

weixin_29210727的博客 604

iOS开发经验技巧之IOS中NSUserDefaults的用法(轻量级本地数据存储)

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

Chinese_love的博客 632

AUTOSAR E2E Protocol实战:Profile1到Profile5的配置差异与最佳实践

本文深入解析AUTOSAR E2E Protocol中Profile1到Profile5的核心配置差异与适用场景。针对经典CAN、CAN FD及以太网等不同总线,详细对比了计数器、CRC、DataID等关键参数,并结合实战代码与配置示例,为工程师根据功能安全等级、数据长度与带宽限制选择最佳Profile提供了清晰的选型路径与工程实践指南。

milk5的博客 939

iOS中NSUserDefaults的用法(轻量级本地数据存储)

iOS中NSUserDefaults的用法(轻量级本地数据存储)作者@马仔哥介绍NSUserDefaults 是一个单例类1.首先大家一提到NSUserDefaults一用要知道这个类是一个单例类,单例类是单例模式的一个是类,而模式单例是一种常见的编程方式。在iOS中,单例模式很常见,它用于确保特定类的安全性和线程的正确性。1.自身的特点决定了功能作用1.NSUserDefaults类为和默认的系统

maxingzehaoren的博客 857

【WSL2+Ubuntu+Docker Desktop】迁移到D盘

该篇文章包含将WSL2+ubuntu+Docker Desktop从C盘迁移到D盘

哈茶的博客 3929

PIMPL 模式 以及Q_DECLARE_PUBLIC 与 Q_DECLARE_PRIVATE

在 C++ 中,PIMPL 模式通常通过将类的私有数据和实现放在一个单独的类中,然后在类的公共接口中使用指向该私有实现类的指针来实现。宏可以帮助在 Qt 的 PIMPL 模式中实现类的私有实现和公共接口的分离,提高代码的封装性和可维护性。宏的结合使用,我们可以实现类的私有性和封装,避免暴露私有实现的细节,同时提高类的可维护性和灵活性。:这一行声明了一个友元类,使得类的公共接口可以访问私有实现类的私有成员。:这一行声明了一个友元类,使得类的私有实现可以访问类的私有成员。是两个宏,用于实现 PIMPL 模式。

追赶时代的博客 842

iOS-NSUserDefaults的用法(轻量级本地数据存储)

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

梦从这里启航,代码改变世界 711

NVIDIA Isaac GR00T N1 入门教程(一) 人形机器人多模态大语言模型

英伟达™ Isaac GR00T N1 是世界上首个用于通用仿人机器人推理和技能的开放式基础模型。该跨体模型采用多模态输入(包括语言和图像)在不同环境中执行操作任务。GR00T N1 在一个庞大的仿人机器人数据集上进行训练,该数据集包括真实捕获数据、使用英伟达 Isaac GR00T Blueprint 组件生成的合成数据(神经生成轨迹示例)以及互联网规模的视频数据。通过后期训练,它可以适应特定的应用、任务和环境。

2506_90492529的博客 3049
上一篇: iOS通过iTunes search检测版本更新,并提示用户更新!
下一篇: iOS操作系统的层次架构和相关服务
drm521
博客等级 码龄14年 9粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值