NSMutableArrayをNSUserDefaultsで保存する

2018/04/20更新 カテゴリー:開発奮闘記 タグ: , ,

通常、NSUserDefaultsで保存できるのはNSDictionary, NSArray, NSString, NSDate, NSData, NSNumberだけのようです。そのままNSMutableArrayを保存しようとしても、エラーが出てしまいます。

SPONSOR

NSMutableArrayを保存したい時は、一度NSDataに変換して保存します。

保存

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *arr = ... ; // set value
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
[defaults setObject:data forKey:@"theKey"];

読み込み

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:@"theKey"];
NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithData:data];

iPhoneアプリ開発のTips一覧はこちら

効率のいいiOSプログラミング習得法

独学でプログラミングをはじめてもう16年。
なかなか勉強が進まない人のために記事を書きました。

フリーランスエンジニアの稼ぎ方

SPONSOR

PROFILE

プロフィール

入江 慎吾
サービスで世界をよりよくするために挑戦中。個をエンパワーメントするプロダクトをつくっています。個人開発コミュニティ「入江開発室」を運営(約300名) / MENTAなど20個以上のプロダクトを開発。
(詳しいプロフィール)

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす