NsKeyedArchiever
モデル、メーカー、年、色、ビンを含む車の詳細を保存するために使用しようとしています。このコードは次のとおりです。
void CarData()
{
Car *myCar = [[Car alloc] init];
myCar.model = [carTempArray objectAtIndex:0];//Temporary array contains value
myCar.make = [carTempArray objectAtIndex:1];
myCar.color = [carTempArray objectAtIndex:2];
myCar.year = [carTempArray objectAtIndex:3];
myCar.vin = [NSNumber numberWithInt:check];
NSString *docspath = [NSHomeDirectory() stringByAppendingPathComponent:@"documents"];
BOOL saved =[NSKeyedArchiver archiveRootObject: myCar toFile:docspath];
NSLog(@"did save state %d",saved);
[myCar release];
[NSKeyedArchiver release];
}
その後、次のように使用NSkeyedUnarcheiver
します。
void ShowData()
{
NSString *docspath = [NSHomeDirectory() stringByAppendingPathComponent:@"documents"];
Car * retrieveCar = [NSKeyedUnarchiver unarchiveObjectWithFile:docspath];
// for(int i=0 ; i<studentList.count;i++)
{
// Car * retrieveCar =[studentList objectAtIndex:0];
NSString * first = retrieveCar.model;
NSString * first1 = retrieveCar.make;
NSString * first2 = retrieveCar.color;
NSString * first3 = retrieveCar.year;
NSLog(@"%@",first );
NSLog(@"%@",first1 );
NSLog(@"%@",first2 );
NSLog(@"%@",first3 );
}
しかし、これは1つの値しかとらず、1つの値を使用します.NSKeyedArchiever
オブジェクトを配列に保存して、同じコードを使用して複数の車をその一部にできるようにしたい.そして、上記と同じようにロードします.問題を修正してください.実行したい複数の車のコードと、車の検索、車の記録の削除、車の追加など、車の配列で次のタスクを実行できます。