Skip to content

Instantly share code, notes, and snippets.

@yukinaga
Created February 15, 2014 04:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yukinaga/9014733 to your computer and use it in GitHub Desktop.
Save yukinaga/9014733 to your computer and use it in GitHub Desktop.
意外にパワフル!?NSUserDefaultsの書き込み、読み込み速度について ref: http://qiita.com/yuky_az/items/13dfc156db118db04f17
- (void)viewDidLoad
{
[super viewDidLoad];
mArray = [NSMutableArray new];
NSArray *array = @[@"赤",
@"青",
@"緑",
@"黄",
@"白"];
int repeatNumber = 10000;
for (int i = 0; i<repeatNumber; i++) {
NSMutableString *string = [NSMutableString new];
for (int j = 0; j<100; j++) {
int randNum = arc4random()%[array count];
[string appendString:array[randNum]];
}
[mArray addObject:string];
}
}
-(IBAction)saveTapped:(id)sender{
NSDate *beforeDate = [NSDate date];
NSUserDefaults *uD = [NSUserDefaults standardUserDefaults];
[uD setObject:mArray forKey:@"Array"];
[uD synchronize];
NSTimeInterval interval =fabs([beforeDate timeIntervalSinceNow]);
NSLog(@"Saving took %f seconds!", interval);
}
-(IBAction)loadTapped:(id)sender{
NSDate *beforeDate = [NSDate date];
NSUserDefaults *uD = [NSUserDefaults standardUserDefaults];
NSMutableArray *loadedArray = [uD objectForKey:@"Array"];
NSTimeInterval interval =fabs([beforeDate timeIntervalSinceNow]);
if (loadedArray) {
NSLog(@"Loading took %f seconds!", interval);
}
}
-(IBAction)changeTapped:(id)sender{
NSDate *beforeDate = [NSDate date];
mArray[0] = @"ABC";
NSTimeInterval interval =fabs([beforeDate timeIntervalSinceNow]);
NSLog(@"Changing took %f seconds!", interval);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment