Iphone 如何在iOS本机应用程序中使用plist

Iphone 如何在iOS本机应用程序中使用plist,iphone,objective-c,ios5,Iphone,Objective C,Ios5,我想在我们的iOS应用程序中使用plist文件。因为我看了一些文章,但我无法收集所需的信息。请在这方面帮助我。您可以这样使用:- NSString *path = [[NSBundle mainBundle] pathForResource:@"dataList" ofType:@"plist"]; NSMutableArray *tempArray = [[NSMutableArray alloc] initWithContentsOfFile:path]; 此数组可用于填充tablevie

我想在我们的iOS应用程序中使用plist文件。因为我看了一些文章,但我无法收集所需的信息。请在这方面帮助我。

您可以这样使用:-

NSString *path = [[NSBundle mainBundle] pathForResource:@"dataList" ofType:@"plist"];
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithContentsOfFile:path];

此数组可用于填充tableview或任何其他用途。

如果问题是关于从属性列表读取和写入数据,则相关文档为[属性列表编程指南]。()

此摘录将帮助您:

使用核心基础函数读取和写入属性列表数据 将属性列表数据写入文件系统有两种主要方法:

如果属性列表的根对象是NSDictionary或NSArray对象(几乎总是这样),则可以调用这些类的writeToFile:Atomicly:或writeToURL:Atomicly:方法,传入根对象。这些方法将属性列表对象的图形保存为XML属性列表,然后再将其写入文件或URL资源。 要将属性列表数据读回程序,请通过调用initWithContentsOfFile:和initWithContentsOfURL:方法或相应的类工厂方法(例如,dictionaryWithContentsOfURL:)初始化已分配的集合对象

在最后一点展开,考虑这个例子。您有一个XML属性列表,其根对象是包含许多NSDictionary对象的NSArray对象。如果通过此调用加载该属性列表:

NSArray*a=[NSArray数组及其内容文件:xmlFile]

是一个不可变数组,每个元素中都有不可变的字典。每个字典中的每个键和每个值也是不可变的

如果通过此调用加载属性列表:

NSMutableArray*ma=[NSMutableArray-withcontentsoffile:xmlFile]

ma是一个可变数组,每个元素中都有不可变的字典。每个字典中的每个键和每个值都是不可变的

如果需要对属性列表中对象的可变性进行更细粒度的控制,请使用propertyListFromData:mutabilityOption:format:errorDescription:class方法,该方法的第二个参数允许您在聚合属性列表的各个级别指定对象的可变性。您可以指定所有对象都是不可变的(NSPropertyListImmutable),只有容器(数组和字典)对象是可变的(NSPropertyListMutableContainers),或者所有对象都是可变的(NSPropertyListMutableContainers和Leaves)

例如,您可以编写如下代码:

NSMutableArray*dma=(NSMutableArray*)[NSPropertyListSerialization
propertyListFromData:plistData
可变选项:NSPropertyListMutableContainers和Leaves
格式:&格式
错误描述:&错误]

此调用生成一个可变数组,每个元素中都有可变字典。每个字典中的每个键和每个值本身也是可变的


获取数据表单
plist
非常简单

self.YorArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"YourplistName" ofType:@"plist"]];

使用plist的目的是什么?这个问题非常模糊。你没有说你想用plists做什么,你没有说任何关于你所遇到的麻烦的事情。@dreamlax它是如何不清楚的。我只是问我想使用plist,然后我想存储一些我想在整个应用程序中使用的密钥。因此,我只想知道它是如何运作的?@iMash:你还没有明确说明你对plists有什么问题。你说的是“我想开车。我读了一些文章,但我无法收集所需的信息。请帮助我。”。如果有人不知道你需要帮助的地方,他们怎么能帮助你?如果你在所有方面都需要帮助,那么你的问题就太模糊了。你甚至不说你读过什么文章。