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

原创 2015年11月19日 23:33:02

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]命令直接同步到文件里,来避免数据的丢失。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

iOS ViewController之间传值方法四(利用Delegate)

3.利用Delegate在两个或多个ViewController之间传值 在A界面       .h文件 @protocol secondViewDelegate -(void)passView...

如何在两个ViewController之间传递数据

参考: http://blog.sina.com.cn/s/blog_4431c7610100vgds.html http://blog.163.com/zhe8stianshi@126/blog...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

ViewController之间传值

1.属性/方法两个页面A,B;A转到B页面//在A页面,跳转时 BViewController *bPage = [[BViewController alloc] init]; //B...

IOS—两个ViewController间传值

IOS中,在两个ViewController之间传值有多种方式,这里学习其中一种,利用临时变量在两个ViewController之间传值,这可能不是最好的传值方式,但是也是一种选择。 首先看看工...

两个ViewController间传值(二)

这次要讲的是如何从A进入B,在B输入值后回传给A,这类似于Android中的利用Activity的onActivityResult回调方法实现两个Activity之间的值传递,那么在IOS中如何实现这...

iOS 不同界面(ViewController)之间传值

今天遇到一个问题:如何在多个viewController 之间进行传值,我有A、B、C三个 view,三个 view 均在同一 Navigation Controller 容器中,关系如下图: ...

iOS 属性传值 Block传值 两个ViewController之间的

ios 属性传值 Block传值 就是将A页面的数据传到B页面具体实现

Fragment之间通过Activity相互传值和调用的2个方式

方法一、AFragment提供接口回调调用Aty的方法,Aty再调用BFragment的方法来实现 1。A中 private void frag2aty2frag(int position...

IOS学习笔记:视图之间传值的方法

1.单例

【ios】2个viewController之间传值(segue方式)

目前我了解的viewController之间传值有2种方式,一种是segue方式,一种是delegate方式;本文只讲segue方式。 先定义viewController 1简称为A,viewC...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)