NSUserDefaultsによるデータの保存は
無くてはならない機能ですね。
しかし、困ったことに
NSUserDefaultsは保存できるデータ型の制限が厳しく
開発でよく用いるNSMutableArray型のデータを保存できません。
ではどうすればデータの保存ができるのでしょうか

方法はいくつかあるんですが
今回はその中で最も簡単な方法を紹介しようと思います。
解決案の一つとして
NSMutableArray型のデータを
NSArray型のデータに
型変換することが挙げられます。
型変換は以下のようにして行うことができます。
【NSMutableArrayからNSArrayへの変換】
//copy関数による変換
NSMutableArray *muarray
NSArray *array = [muarray copy];
//キャストによる変換
NSMutableArray *muarray
NSArray *array = (NSArray *)muarray;
NSMutableArray *muarray
NSArray *array = [muarray copy];
//キャストによる変換
NSMutableArray *muarray
NSArray *array = (NSArray *)muarray;
【NSArrayからNSMutableArrayへの変換】
//mutableCopy関数による変換
NSArray *array
NSMutableArray *muarray = [array mutableCopy];
//キャストによる変換
NSArray *array
NSMutableArray *muarray = (NSMutableArray *)array;
NSArray *array
NSMutableArray *muarray = [array mutableCopy];
//キャストによる変換
NSArray *array
NSMutableArray *muarray = (NSMutableArray *)array;
上記の方法の注意点としては
NSStringなどの単一オブジェクトしか保存できず
自前で作ったクラスなどに対応していないことです。
簡単なテキストデータ群を保存させるのにはすごく便利なんですけどねw
自前で作成したクラスオブジェクトの保存方法は
自作クラスをNSUserDefaultsで保存する方法
で解説しています。
それでは、また








で行きたいと考えています。