【原】plist使用的若干问题

简介:

弄了半天的plist,最无语的莫过于plist还分种类的。有字典型和数组型等。

plist的写入是,你把你放在工程中的plist删掉。你要写入plist的时候,
如果发现没有该plist,其会帮新建该plist。别傻傻的认为自己建立一个plist,然后
运行程序的时候他会在你建的那plist里面多出几行数据,因为你修改的是应用中的
plist而非你本地的那个plist。
下面的plist里面存放这的是array数组
以下是显示plist的代码:

NSString *path = [[NSBundle mainBundlepathForResource:@"Data" ofType:@"plist"];

NSMutableArray *array = [[NSMutableArray allocinitWithContentsOfFile:path];

 

 NSLog(@"array:%@",[array objectAtIndex:0]);

写入plist的代码:

 

 NSString *path1 = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];

 NSArray *array1 = [[NSArray alloc] initWithObjects:@"hello1",@"hello2",@"hello3",nil];

 [array1 writeToFile:path1 atomically:YES];

就这么简单。

 

 

  NSString *path = [[NSBundle mainBundlepathForResource:@"Data" ofType:@"plist"];

    NSMutableArray *array = [[NSMutableArray allocinitWithContentsOfFile:path];

    NSString *str=@"第六章——第三阶——第五页";

   [array insertObject:str atIndex:[array count]];    //添加一行:

    [array removeObjectsAtIndexes:2];                   //删除第三行

    [array replaceObjectsAtIndexes:2 withObjects:str;//修改第三行

    [array writeToFile:path atomically:YES];

//[array insertObject:@"hello" atIndex:2];//在第三个数后添加一个hello

//[array removeLastObject];//删掉最后一个

//[array count];         //数组的总数

还有很多函数提供选择:

 

- (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes;

- (void)removeObjectsAtIndexes:(NSIndexSet *)indexes;

- (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray *)objects;

- (void)addObject:(id)anObject;

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

- (void)removeLastObject;

- (void)removeObjectAtIndex:(NSUInteger)index;

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;

 

- (void)addObjectsFromArray:(NSArray *)otherArray;

- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;

- (void)removeAllObjects;        //清空plist

- (void)removeObject:(id)anObject inRange:(NSRange)range;

- (void)removeObject:(id)anObject;

- (void)removeObjectIdenticalTo:(id)anObject inRange:(NSRange)range;

- (void)removeObjectIdenticalTo:(id)anObject;

- (void)removeObjectsFromIndices:(NSUInteger *)indices numIndices:(NSUInteger)cntNS_DEPRECATED(10_0, 10_6, 2_0, 4_0);

- (void)removeObjectsInArray:(NSArray *)otherArray;

- (void)removeObjectsInRange:(NSRange)range;

- (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange;

- (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray;

- (void)setArray:(NSArray *)otherArray;

- (void)sortUsingFunction:(NSInteger (*)(ididvoid *))compare context:(void *)context;

- (void)sortUsingSelector:(SEL)comparator;

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/29/2422869.html,如需转载请自行联系原作者

相关文章
|
6月前
|
索引
【Leetcode -138.复制带随机指针的链表 -2130.链表最大孪生和】
【Leetcode -138.复制带随机指针的链表 -2130.链表最大孪生和】
25 0
|
8月前
|
存储 算法
数组算法:倒置,查找,插入,删除
数组算法:倒置,查找,插入,删除
68 0
|
10月前
|
存储 人工智能 Java
第一个动态结构:链表
大家好,我是王有志。今天我们一起学习线性表中的第二种数据结构:链表,也是真正意义上的第一个动态数据结构。
79 0
第一个动态结构:链表
|
12月前
|
索引
【Leetcode】链表的深度拷贝——复制带随机指针的链表
【Leetcode】链表的深度拷贝——复制带随机指针的链表
|
算法
两个链表的第一个公共节点(简单难度)
两个链表的第一个公共节点(简单难度)
98 0
两个链表的第一个公共节点(简单难度)
单链表的插入与删除(标准C)
单链表的插入与删除(标准C)
53 0
|
算法 Perl
实验报告 线性表的基本操作及应用(单链表的创建,插入、删除、查找和打印算法)修改之前i=i+1问题
实验报告 线性表的基本操作及应用(单链表的创建,插入、删除、查找和打印算法)修改之前i=i+1问题
81 0
|
算法
实验报告 线性表的基本操作及应用(单链表的创建,插入、删除、查找和打印算法)
实验报告 线性表的基本操作及应用(单链表的创建,插入、删除、查找和打印算法)
371 0
实验报告 线性表的基本操作及应用(单链表的创建,插入、删除、查找和打印算法)