Objective-C序列化和反序列化
0OC可以程序用到的各种对象序列话到文件,在任何需要的情况下,从文件中重新读取数据重新构造对象,下面说一下对象的序列化和反序列化。
利用NSKeyedArchiver把对象序列化到文件中:
//=================NSKeyedArchiver========================
NSString *saveStr1 = @"NSKeyedArchiver1";
NSString *saveStr2 = @"NSKeyedArchiver2";
NSArray *array = [NSArray arrayWithObjects:saveStr1, saveStr2, nil];
//—-Save
//这一句是将路径和文件名合成文件完整路径
NSString *Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filename = [Path stringByAppendingPathComponent:@"saveDatatest"];
[NSKeyedArchiver archiveRootObject:array toFile:filename];
利用NSKeyedUnarchiver从文件中反序列化成对象:
array = [NSKeyedUnarchiver unarchiveObjectWithFile: filename];
NSLog(@">>%@",array);
ios5 UIKit新特性
0原文链接:http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
在ios5推出之前,要实现标准界面的定制设计,对于开发者来说可没有那么简单。尽管开发者可以通过重写drawRect是一个不错的办法,但开发者也很头痛。
现在有了ios5了,UIKit添加了许多控件元素的外观。
ios5中UIViewController addChildViewController新方法的使用
2在ios5中,ViewController中新添加了下面几个方法:
addChildViewController:
removeFromParentViewController
transitionFromViewController:toViewController:duration:options:animations:completion:
willMoveToParentViewController:
didMoveToParentViewController:
下面详细介绍一下addChildViewController,一个ViewController可以添加多个子ViewController,但是这些子ViewControlle要想显示出来,需要把子controller的视图添加到父视图的相应位置r,可以通过transitionFromViewController:toViewController:duration:options:animations:completion:这个方法转换显示的子视图。同时加入相应的动画。下面以一个例子来说明,最后实现的效果:
点击其中的按钮如下:
Objective-C中public、protected、private的使用
0Objective-C中,类的实例化变量的范围有@private、@protected、@public。他们代表的意思和C++中相同,只是前面添加了一个@符号。下面介绍一下他们代表的范围:
| 指令 | 意思 |
|
@private |
作用范围只能在自身类 |
| @protected | 作用范围在自身类和继承自己的子类,什么都不写,默认是此属性。 |
| @public | 作用范围最大,在任何地方 |
下面是官方的图: