NSUserDefaultsはデータの永続化にとても便利なクラスですが、大量のデータを扱う際はCoreDataなどデータベースに基づくクラスを使った方メモリ的の使用量が押さえられ、検索速度的にも有利です。 では、どの程度までのサイズのデータでしたらNSUserDefaultsで無理無く扱うことができるのでしょうか。 この疑問を自分なりに解決するために、以下のコードを書いてみました。 - (void)viewDidLoad { [super viewDidLoad]; mArray = [NSMutableArray new]; NSArray *array = @[@"赤", @"青", @"緑", @"黄", @"白"]; int repeatNumber = 10000; for (int i = 0; i<repeatNumber; i++) { NSMutableString *s
![意外にパワフル!?NSUserDefaultsの書き込み、読み込み速度について - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6e023b6fe6fa2388f55e6e9d23f2953582e36ca4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU2JTg0JThGJUU1JUE0JTk2JUUzJTgxJUFCJUUzJTgzJTkxJUUzJTgzJUFGJUUzJTgzJTk1JUUzJTgzJUFCJUVGJUJDJTgxJUVGJUJDJTlGTlNVc2VyRGVmYXVsdHMlRTMlODElQUUlRTYlOUIlQjglRTMlODElOEQlRTglQkUlQkMlRTMlODElQkYlRTMlODAlODElRTglQUElQUQlRTMlODElQkYlRTglQkUlQkMlRTMlODElQkYlRTklODAlOUYlRTUlQkElQTYlRTMlODElQUIlRTMlODElQTQlRTMlODElODQlRTMlODElQTYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTNmMmVkMDQ3YmQzZWI0MTQzZjM3ZmZiYWMzZmVhOGY0%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweXVreV9heiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjA4ZWM2Y2FlYzhmZDAyZjAzMWVjYjMxYmIyOWZiNTc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Ddfcc21e1e3139ec0ae9ec3f6bcef3e63)