NSDictionaryを使用する方法とオリジナルのクラスを設計する方法の二つをデータのシリアライズと保持に使える.
2chのsubject.txtデータとすると,
NSDictionaryを使ってやると,こんな感じ.

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
title,							@"title",
path,							@"path",
[NSNumber numberWithInt:dat],	@"dat",
[NSNumber numberWithInt:res],	@"res", nil];

クラスの方は,こんな感じか.

@interface SubjectData : NSObject {
NSString	*title_;
NSString	*path_;
int			dat_;
int			res_;
}
@property (nonatomic, retain) NSString* title;
@property (nonatomic, retain) NSString* path;
@property (nonatomic, assign) int dat;
@property (nonatomic, assign) int res;
@end

後,SubjectDataには,シリアライズ向けのinitWithCoderを実装.
そして,この二つでそれぞれ,700個のデータの書き出し,読み出し,作成にかかる時間を計ってみた.
[nscoderTestViewController] writeWithArchiver
0.412072
[nscoderTestViewController] loadWithArchiver
0.258862
[nscoderTestViewController] writeWithDictionary
0.534621
[nscoderTestViewController] loadWithDictionary
0.224575
[nscoderTestViewController] makeDataWithClass
0.118851
[nscoderTestViewController] makeDataWithDictionary
0.223689
読み出しと書き出しはあんまり変わらないっぽい.
ただデータの作成はクラスの方が速いっぽい.
これからは普通のデータは,Dictionaryは使わないようにして,NSCoderを使ってシリアライズするようにするか.


クラスが速いのは当たり前か.NSNumberを余計にallocするもんね・・・.