每次在 plist 中添加新的 NSMutableDictionary,即使我只分配一次
Posted
技术标签:
【中文标题】每次在 plist 中添加新的 NSMutableDictionary,即使我只分配一次【英文标题】:Each time new NSMutableDictionary added in plist even if I allocate it only once 【发布时间】:2011-07-29 07:14:58 【问题描述】:在我的应用程序中,我必须从 xml 中保存键 @"v_number"
的标记值,每次从 plist 中的服务器更改。因为我成功地更新了 plist 中键 @"v_number"
的新更新值。
但问题是当我运行应用程序时,每次添加新的 NSMutableDictionary。
但我只想在 plist 中添加一次。
有没有人知道,为什么每次都指定分配?
NSArray *temp = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory=[temp objectAtIndex:0];
NSString *fileAdd = [docDirectory stringByAppendingPathComponent:@"PList.plist"];
if ([[NSFileManager defaultManager]fileExistsAtPath:fileAdd])
PListArray = [[NSMutableArray alloc] initWithContentsOfFile:fileAdd];
main = [PListArray objectAtIndex:0];
t1 = [main objectForKey:@"v_number"];
else
PListArray=[[NSMutableArray alloc]init];
t1=@"0";
//main = [[NSMutableDictionary alloc]initWithContentsOfFile:fileAdd];
main = [[NSMutableDictionary alloc]init];
[main setObject:t1 forKey:@"v_number"];
【问题讨论】:
请将更新文件的代码贴出来 我在 -(void) ParseXML: (NSString *)path 方法中更新文件。在应用程序中删除。 我想看看你是如何更新文件的,看看为什么它是添加字典而不是覆盖 我通过这种方式更新 [PListArray addobject:main] 您没有发现问题吗?你正在使用 addObject 然后想知道为什么要添加对象 【参考方案1】:if (main != nil)
main = [[NSMutableDictionary alloc]init];
【讨论】:
以上是关于每次在 plist 中添加新的 NSMutableDictionary,即使我只分配一次的主要内容,如果未能解决你的问题,请参考以下文章
需要使用 Objective C 将新的键和值添加到 Plist 中? [复制]