Ios 如何在plist文件中存储带有自定义对象的数组,并在应用程序启动时再次加载它

Ios 如何在plist文件中存储带有自定义对象的数组,并在应用程序启动时再次加载它,ios,ios-4.2,ios4,Ios,Ios 4.2,Ios4,我有一个带有自定义对象的数组,我想将其存储在plist文件中,所以我已经尝试了这段代码来保存数组 NSMutableData *data = [[NSMutableData alloc] init]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; [archiver encodeObject: myArray forKey:@"ArrayKey

我有一个带有自定义对象的数组,我想将其存储在plist文件中,所以我已经尝试了这段代码来保存数组

NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

    [archiver encodeObject: myArray  forKey:@"ArrayKey"];

    [archiver finishEncoding];

    NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];    

    // get the path to our Data/plist file
    NSString *plistPath = [docsDir stringByAppendingPathComponent:@"Data.plist"];



    [data writeToFile:plistPath atomically:YES];

    [data release];
    [archiver release];
这里“myarray”是我的自定义数组,现在我可以存储该数组,但我想知道如何从plist文件加载该数组

谢谢和问候
Ranjit

该代码不正确。您需要进入自定义对象并为该对象中的每个属性设置NSCoder。使用NSCoder查找apple文档。嘿,dancreek,我可以保存数据…我按照你的链接,我已经按照你说的方式完成了NSCoding,现在我如何在应用程序启动时显示填充了已保存数组的表格..该链接解释了如何编码和解码。至于将解码后的数据放入表格,有各种关于设置表格的教程。嗨,dancreek,我能够将自定义数组保存到plist中,并在表格上显示数组,但是现在当我点击表格的单元格时,它会钻入另一个填充了另一个自定义数组的表格视图..那么我应该如何继续呢Hi dancreek,我已经使用了上面的方法,将数据保存到plist,但是每次保存时它都会覆盖数据,但是我不想覆盖数据,所以请解释一下我们怎么做