iOS ViewController之间传值方法二(利用NSUserDefaults)

本文介绍了如何在iOS应用的不同ViewController之间使用NSUserDefaults传递数据,包括数组等不同类型的支持及数据存储路径说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.利用NSUserDefaults在两个ViewController之间传值

iOS中利用NSUserDefaults在两个或多个界面之间传值。其中NSUserDefaults支持的数据类型有:NSNumber(NSInteger,Float,Double),NSString,NSDate,NSArray,NSDictionary,BooL.

以NSArray为例子,

在A界面

    //A界面利用NSUserDefault方式传一个数组

    NSArray *myArr = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",nil];

    //赋值

    [[NSUserDefaultsstandardUserDefaults]setObject:myArrforKey:@"getArr"];


  在B界面

    //B界面获取arr

    NSArray *newArr = [[NSArrayalloc]init];

    //取值

    newArr = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"getArr"];

    NSLog(@"%@----------",newArr);

-----最后关于NSUserDefaults的存储?

 其实它存储在应用程序内置的一个plist文件里,这个可以根据路径看到。

 比如说这个是你的程序沙盒位置
   /UsersLibrary/Application Support/iPhoneSimulator/4.1/Applicati*****/29788E40-AF47-45A0-8E92-        3AC0F501B7F4/,(这个是应用程序对应在mac上的位置)
   这个下面有/Library/Prefereces,里面有个plist文件,存储的就是你的userDefaults
   想要删掉的话,用removeObjectForKey或者删掉沙盒,也就是你的应用程序然后重新安装。
--------怎样移除NSUserDefaults?
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"getArr"]; 
----------同步
[[NSUserDefaults standardUserDefaults]synchronize];同步,
作用:如果程序意外退出, NSUserDefaultsstandardUserDefaults数据不会被系统写入到该文件,所以,要使用  [[NSUserDefaultsstandardUserDefaults] synchronize]命令直接同步到文件里,来避免数据的丢失。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值