Мей,
Я не уверен, что понимаю ваше заявление о наличии пустого списка. Я предполагаю, что вы имеете в виду, что если вы прочитаете созданный вами plist-файл, он будет нулевым, когда вы его распечатаете. Предполагается, что вы пишете пустой файл или неправильно читаете или ...
Я также предполагаю, что ваша цель состоит в том, чтобы заменить существующее содержимое списка на новый, сохранив то же имя.
И будьте осторожны - я новичок в Задаче C и т. Д. Вот способ сделать то, что, я думаю, вы пытаетесь сделать.
// Implement viewDidLoad to do additional setup after loading the view,
// typically from a nib.
- (void)viewDidLoad {
NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"TmpPList" ofType:@"plist"]; //Not NARC
//NSLog(@"plistPath : %@", plistPath);
//My plist is a simple array, but it could be an array of dictionary objects etc
NSMutableArray *arrayFromPList = [[NSMutableArray alloc] initWithContentsOfFile:plistPath]; //NARC
//NSLog(@"arrayFromPList : %@", arrayFromPList);
//Delete the arrays contents and put new contents
[arrayFromPList removeAllObjects];
//NSLog(@"arrayFromPList : %@", arrayFromPList);
//[arrayFromPList addObjectsFromArray:[NSArray arrayWithObjects:@"A", @"B", "@C", nil]];
//NSLog(@"arrayFromPList : %@", arrayFromPList);
[arrayFromPList setArray:[NSMutableArray arrayWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", nil]];
//NSLog(@"arrayFromPList : %@", arrayFromPList);
/* */
//Write it out to the original file name
[arrayFromPList writeToFile:plistPath atomically:YES];
NSMutableArray *newArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath]; //NARC
NSLog(@"newArray : %@", newArray);
[arrayFromPList release];
[newArray release];
}