2

最近、ユーザーのデフォルトから NSArray を保存および取得したいと考えていましたが、Storing custom objects in an NSMutableArray in NSUserDefaultsの提案を見つけて使用しました。

しかし、振り返ってみると、カスタム オブジェクトではなく標準のコレクション クラスを使用している場合、これはやり過ぎのように思えます。私が使用している提案されたソリューション(上記のリンク)の主な利点は、この方法でカスタムクラスを保存できることですがNSArray、コンテンツが文字列または他の配列または標準辞書である場合、このアプローチをNSKeyedArchiver不要ですか?

4

1 に答える 1

2

はい、次のNSUserDefaultsドキュメントを参照してください。

setObject:forKey:

値パラメーターは、プロパティ リスト オブジェクトのみにすることができます: NSData、NSString、NSNumber、NSDate、NSArray、または NSDictionary。NSArray および NSDictionary オブジェクトの場合、その内容はプロパティ リスト オブジェクトである必要があります。

オブジェクトを に変換する必要がある場合にのみ、 NSCoderlikeを使用する必要があります。NSKeyedArchiverNSData

于 2012-08-07T03:33:55.310 に答える