我们先创建一个NSUserDefaults对象(其实类似于一个字典),然后把数据写入到这个对象中,然后把这个对象里面的数据保存在本地。然后我们把这些代码删除掉,重新创建一个对象来调用在本地的数据,看是否能调出,如果能,说明之前已经成功把数据本地化了。
(1)我们创建一个空的application。
(2)把AppDelegate.m下面的那些函数都删除掉。在第一个函数里面补充如下代码,然后点击运行。
#import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //以下是新添加的代码 NSArray *[email protected][@"111",@"222"]; NSUserDefaults *userDef=[NSUserDefaults standardUserDefaults];//这个对象其实类似字典,着也是一个单例的例子 [userDef setObject:arr1 forKey:@"array"]; [userDef setInteger:123 forKey:@"number"]; [userDef synchronize];//把数据同步到本地 return YES; } @end
(3)把上面代码删除,然后添加如下代码,点击运行。
#import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //以下是新增代码 //看数据是否已经在本地,即注销上述语句,在本地调用数据 NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults]; NSInteger *num1=[userDefault integerForKey:@"number"]; NSArray *arr2=[userDefault objectForKey:@"array"]; NSLog(@"%d,%@",num1,arr2); return YES; } @end
(4)运行结果:
123,( 111, 222 )
我们把第一次添加的代码已经删除后,第二次代码运行时还能调出数据,说明数据已经存储在本地了。
(5)其实这个数据应该保存在一个.plist为后缀的文件中,可惜没找到这个文件,或者是找到了,但是没看到数据,亦可能是已经保存了源文件了,可能就没必要单独创建个新文件保存了,这个做项目的时候以后再慢慢找。
时间: 2024-11-20 14:15:39