。基本概念
单例设计模式运用较为普遍,广泛且较为简单的设计模式之一。它的设计原理是始终返回一个实例,即一个类始终只有一个实例。
。创建单例的基本步骤
。声明一个单件对象的静态实例,并初始化为nil
。创建一个类的类工厂方法,生成一个该类的实例,当且仅当这个类的实例为nil时
。覆盖allocWithZone:方法,确保用户(程序员)在直接分配和初始化对象时,不会产生另一个对象。
。实现NSCoping协议,覆盖release、autorelease、retain、retainCount方法,以此确保单例的状态。
。在多线程的环境中,注意使用@synchronized关键字,确保静态实例被正确的创建和初始化。
NSUserDefault的使用
NSArray *array = @[@"123",@"abc"];
NSUserDefaults *userDefaults= [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:123 forKey:@"number"];
[userDefaults setObject:array forKey:@"array"];
[userDefaults synchronize];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSInteger number = [userDefaults integerForKey:@"number"];
NSArray *array = [userDefaults objectForKey:@"array"];
NSLog(@"number=%d,array=%@",number,array);