`
johnie_sheng
  • 浏览: 112777 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IOS中的存储-Plist

阅读更多

Mac OS XCocoaNeXTSTEPGNUstep 编程框架中, 属性列表(Property List)文件是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。

Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS中是由资源分支提供的。

使用mac os 和Core Foundation中的property list接口我们可以在层式的对象和xml文件之间进行转换。我们可以把xml文件存储起来以后再把它以对象的形式读取出来。这里我们来具体讨论下property list和他们的表现形式,以及如何在编程过程中使用他们。

这里我想提到一下NSUserDefault,它其实也是以property list 的形式来存储的,但是它有限制,比如说NSColor和NSFont等类型式不能够直接存储的,我们必须要转换他们,要把他们转换成NSData类型来存储,我想在另一篇文章在详细说说这个问题。

废话不多说,我们开始吧。

在编程的过程中,我们可以在项目中建立plist来存储一些变量,具体的操作步骤File-new-Mac OS X-Resource-Property List。我们在项目中可以以xml形式或者source Code形式来编写。比如我们的plist原代码的形式象下面的xml一样。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Name</key>
    <string>John Doe</string>
    <key>Phones</key>
    <array>
        <string>408-974-0000</string>
        <string>503-333-5555</string>
    </array>
</dict>
</plist>
 

 

接下来我们从plist中读取信息,这是在iPhone开发中的应用:

 //get the plist file from bundle
 NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; 
// build the array from the plist
NSMutableArray *anArray = [[NSMutableArray alloc]initWithContentOfFile:plistPath];

下面是写操作

    NSString *error;

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

    NSString *plistPath = [rootPath stringByAppendingPathComponent:@"Data.plist"];

    NSDictionary *plistDict = [NSDictionary dictionaryWithObjects:

            [NSArray arrayWithObjects: personName, phoneNumbers, nil]

            forKeys:[NSArray arrayWithObjects: @"Name", @"Phones", nil]];

    NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict

                            format:NSPropertyListXMLFormat_v1_0

                            errorDescription:&error];

    if(plistData) {

        [plistData writeToFile:plistPath atomically:YES];

    }

    else {

        NSLog(error);

        [error release];

    }

 主要的内容来自于:

http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/PropertyLists/QuickStartPlist/QuickStartPlist.html#//apple_ref/doc/uid/10000048i-CH4-SW5

分享到:
评论

相关推荐

    android-plist-parser-master

    `android-plist-parser-master`是一个专门针对这种情况的开源项目,它提供了一个Android库,用于解析iOS的.plist文件并将其转换为Android可理解的格式。 `plist`文件是XML或二进制格式,用于存储键值对、数组、字典...

    iphone-plist-net-C#

    在iOS开发中,plist文件是一种常用的存储数据的方式,它以XML格式存储键值对或结构化数据。在本文中,我们将深入探讨如何使用C#语言读取和写入iPhone中的plist文件,以及如何构建相关的工程文件。 首先,理解.plist...

    dd-plist-1.23-bin.zip

    本话题主要关注如何在Java环境中处理这些文件,特别是通过“dd-plist-1.23-bin.zip”这个工具包来读取和操作plist文件。 "dd-plist"是一个开源Java库,专为了解析和写入Apple的plist文件而设计。标题中的“dd-plist...

    swift-Swifty-pList-一个Swift3pList库用于读和写pLists配置

    在Swifty-pList-master压缩包中,包含了该库的源代码、示例项目、文档以及测试用例。如果你打算使用此库,可以查看其README文件了解如何配置和使用,以及查阅示例代码来快速上手。同时,通过运行测试用例,可以验证...

    iOS 全国省市区plist文件

    在iOS开发中,数据存储是不可或缺的一部分,而plist(Property List)文件则是一种常见的轻量级数据存储格式。本文将详细解析"iOS全国省市区plist文件"及其在iOS应用中的应用。 标题“iOS全国省市区plist文件”指出...

    android-plist-parser-master_我认为不错的_android_

    总的来说,`android-plist-parser-master`为Android开发者提供了一种便捷的方式,以处理通常在iOS环境中出现的.plist文件,极大地拓宽了Android应用的跨平台兼容性。通过理解和熟练运用这个库,开发者可以更高效地...

    iphone-plist-net source and Demo

    在iOS和Mac开发中,Plist(Property List)文件是一种常用的数据存储格式,它用于存储结构化的XML或二进制数据。Plist文件通常用来保存应用程序的配置信息、用户设置或者轻量级的数据序列化。在给定的资料中,...

    iPhone iPad iOS plist文件编辑器-PlistEditor安装包(可修改存档,去除广告等功能代码)

    `plist`文件就是这类文件的一种,全称为Property List,是苹果操作系统(包括iPhone和iPad上的iOS)用来存储配置、设置和数据的XML格式文件。本话题将详细介绍`PlistEditor`这个工具,它是一个专门用于编辑iOS设备上...

    iOS开发中plist文件的简单读取

    在iOS开发中,plist(Property List)文件是一种用于存储数据的通用格式,它可以用来保存简单的数据结构,如字符串、数字、数组、字典等。Plist文件通常使用XML或二进制格式,易于人类阅读和机器解析。这篇教程将...

    ios-swift--定位、二维码识别扫描、键盘高度等.zip

    4. **FMDB**:这是一款基于SQLite的Objective-C数据库管理库,常用于iOS应用的数据存储。虽然在使用中遇到了一些问题,但通常它可以方便地执行SQL语句,进行数据查询、插入、更新和删除操作。如果遇到问题,可能需要...

    IOS_Study-源码.rar

    6. 配置文件(.plist):存储应用的各种配置信息,如设置、偏好等。 7. Podfile或Carthage文件:如果项目使用了CocoaPods或Carthage进行依赖管理,这些文件会列出所需的第三方库。 8. README或文档:可能包含了项目...

    ipa文件中info.plist与icon图标解密

    在iOS应用开发中,IPA文件是苹果用于分发应用程序的标准格式。它包含了应用程序的二进制文件、资源、配置文件等。在这个特定的话题中,我们要关注的是`info.plist`文件和应用图标(icon)的解密过程。这些元素在IPA...

    dd-plist:一个Java库,提供对ASCII,XML和二进制属性列表的支持

    com.dd.plist-用于处理属性列表的Java库 该库使您的Java应用程序能够处理各种格式的属性列表。 它是根据MIT许可条款获得许可的。 属性列表是用于存储用户设置和序列化对象的文件。 它们源自NeXSTEP编程环境,现在...

    iOS基础源码之 plist文件的读取例子

    在iOS开发中,Plist(Property List)文件是一种常见的数据存储格式,用于存储结构化的XML或二进制数据。Plist文件通常用来保存应用程序的配置信息、用户偏好设置或者简单的数据结构,如数组、字典、字符串、数字等...

    ios-加载plist.zip

    在iOS开发中,`plist`(Property List)文件是一种常用的数据存储格式,它用于存储结构化的文本或二进制数据,比如应用的设置、配置信息或者简单的数据结构。本教程将详细讲解如何加载`plist`数据,并在界面中通过`...

    iOS-App-Source-Code-v1.6.7.4.zip_ios app_ios code

    在本压缩包“iOS-App-Source-Code-v1.6.7.4.zip”中,包含了一个基于iOS平台的应用程序源代码,该应用专注于蓝牙低能耗(Bluetooth Low Energy,简称BLE)技术。这个源代码版本为v1.6.7.4,这通常意味着它是经过多次...

    iOS开发读取plist文件、iphone中plist文件的读写存 DEMO

    在iOS开发中,plist(Property List)文件是一种常用的存储数据的方式,它以XML或二进制格式保存数据,包括字符串、数字、数组、字典等类型。本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面...

    ios-ios-today 快速启动.zip

    这个“ios-ios-today 快速启动.zip”文件可能包含了一个教程或者一个示例项目,旨在帮助开发者快速理解和实现iOS应用中的Today扩展功能。现在,我们将深入探讨iOS Today扩展的相关知识点。 首先,Today扩展是一种轻...

    iOS省市区PList文件

    这里提到的“iOS省市区PList文件”就是一种常用的解决方案,它将中国的行政区划信息以PList(Property List)文件的形式存储,方便开发者在程序中读取和使用。 PList文件是Apple公司iOS和macOS操作系统中的一种数据...

    ios-将数据使用plist方式缓存(封装).zip

    本教程将围绕“ios-将数据使用plist方式缓存(封装)”这一主题,介绍如何在Objective-C和Swift中实现数据的plist缓存。 首先,理解Plist文件。Plist文件本质上是XML格式的,可以存储基础类型的数据,如字符串、...

Global site tag (gtag.js) - Google Analytics