`

iPhone 对Plist文件进行读写

 
阅读更多

读Plist文件

 

NSString *errorDesc = nil;

NSPropertyListFormat format;

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

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

  if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {

  plistPath = [[NSBundle mainBundle] pathForResource:@"bookmarks" ofType:@"plist"];

  }

  NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];

  context.bookmarksDic = (NSMutableDictionary *)[[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves
  format:&format
  errorDescription:&errorDesc] retain];

  keysArr = [[[context.bookmarksDic allKeys] sortedArrayUsingSelector:@selector(compare:)] retain];

  if (!context.bookmarksDic) {

  NSLog(@"Error reading plist: %@, format: %d", errorDesc, format);

  }
 

 

 写入Plist

 

Context  *context = [Context getInstance];

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

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


  NSString *error;

  NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:context.bookmarksDic
  format:NSPropertyListXMLFormat_v1_0
  errorDescription:&error];


  if(plistData) {

  [plistData writeToFile:plistPath atomically:YES];

  }

  else {

  NSLog(@"%@",error);

  [error release];

  }
 

 

分享到:
评论

相关推荐

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

    本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面我们将详细探讨这些操作。 1. **读取plist文件** 要读取plist文件,首先需要获取文件路径。在iOS中,文件通常存储在沙盒的不同目录下,如...

    iphone-plist-net source and Demo

    2. **创建Plist文件**:使用类库提供的API,你可以创建一个新的Plist文件,或者打开一个已存在的文件进行读写。例如,可以创建一个`NSDictionary`或`NSArray`的.NET等效对象,然后用这些对象构建Plist结构。 3. **...

    ios中的plist文件修改器_pledit

    5. **风险与注意事项**:修改.plist文件可能会对应用或系统稳定性造成影响,因此在进行编辑前,最好备份原文件。错误的修改可能导致应用崩溃或系统不稳定,因此必须谨慎操作,并确保对所修改内容有充分理解。 6. **...

    自己写的一个存取.plist文件Demo

    在iOS开发中,`.plist`(Property List)文件是一种...这个Demo可以帮助开发者理解如何在Objective-C环境中进行.plist文件的存取操作,是iOS开发中的基础技能之一。通过学习和实践,可以提升对iOS数据持久化的理解。

    Plist.net-开源

    Plist文件通常用于存储键值对,数组,字典,日期,字符串,数字和二进制数据等类型的数据。Plist.net库使得非苹果环境下的开发人员也能轻松地读取、写入和操作这些文件,从而更好地支持跨平台开发,特别是针对Mac OS...

    iphone属性列表持久化存储

    5. **项目结构**:“Persistence”这个文件很可能包含了项目的主要代码,可能包括一个或多个类,用于处理属性列表的读写操作。通常会有个主类负责处理数据的序列化和反序列化,以及文件I/O操作。 6. **实际应用**:...

    cocos2d-iphone之魔塔20层第七部分

    这通常涉及JSON或plist文件的读写,以及数据结构的设计。 7. **调试与优化**:在开发过程中,调试和性能优化是必不可少的。开发者可能需要使用Xcode的调试工具,检查内存泄漏,优化渲染效率,确保游戏在不同设备上...

    《Iphone开发基础教程》第十一章 基本数据持久性

    同时,为了提高用户体验,可能需要对大量数据的读写操作进行异步处理,避免阻塞UI线程。 总之,《Iphone开发基础教程》的这一章详细阐述了如何利用SQLite实现iOS应用的数据持久化,通过学习这些内容,开发者能够...

    iOS真机环境调试配置包DeviceSupport 12.0~12.2

    并修改 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist 文件中的DEPLOYMENT_TARGET_SUGGESTED_VALUES字段值(需获取读写权限) ...

    只用代码不用xib写的helloworld

    如果项目包含这部分内容,我们可以看到如何在代码中进行Plist读写: ```objc // 读取Plist NSString *path = [[NSBundle mainBundle] pathForResource:@"MyPlist" ofType:@"plist"]; NSDictionary *dict = ...

    IOS应用源码Demo-多台iPhone 使用bluetooth进行连接-毕设学习.zip

    之后,调用discoverCharacteristics方法获取服务中的特征,最后通过readValue或writeValue方法进行数据读写。 源码还会包含错误处理和断开连接的逻辑。例如,当连接失败或断开时,代理方法会被调用,开发者需要适当...

    IOS应用源码之【应用】多台iPhone 使用bluetooth进行连接.rar

    在Info.plist文件中添加使用蓝牙的NSBluetoothAlwaysUsageDescription或NSBluetooth PeripheralUsageDescription权限描述,否则应用无法请求用户授权使用蓝牙。 8. **多设备连接管理**: 当需要同时连接多台...

    iPhone开发基础教程

    此外,了解plist、JSON和XML等数据格式的读写也非常重要。 6. **网络编程** 掌握使用URLSession进行网络请求,包括GET、POST等HTTP方法,以及JSON解析,是实现应用与服务器交互的基础。 7. **推送通知** iOS的推...

    iPhone开发全局变量的使用

    在“iPhone开发全局变量的使用”这个主题中,我们将深入探讨如何在iPhone应用开发中有效地利用全局变量,以及一个名为"SingletonDemo全局变量使用"的示例。 全局变量通常在程序的全局作用域内定义,可以被任何函数...

    ios-健康步数读写.zip

    要使用HealthKit,你需要在Info.plist文件中添加使用描述键NSHealthUpdateUsageDescription,告知用户你的应用将请求访问其健康数据。 以下是一段简单的代码示例,展示如何使用HealthKit读取步数: ```swift ...

    IPhone Application Preferences

    通过XML文件(Prefrences.plist)配置各个设置项,包括开关、文本字段、选择器等。 2. 自定义设置界面:除了系统设置应用,开发者也可以在应用内创建自己的设置界面,使用UITableView展示设置项,通过IBAction处理...

    libplist-1.8.zip_网络_Unix_Linux_

    3. 示例代码(示例目录):展示了如何在实际项目中使用libplist进行plist文件的读写操作。 4. 文档(README、INSTALL、COPYING等):提供安装指南、许可信息和其他重要细节。 5. 测试用例(test目录):用于验证...

    iOS外设检测(外部设备连接)

    开发者需要在`info.plist`文件中声明支持的协议,只有声明过的协议才能进行通信。 5. **数据交换**:一旦找到连接的设备,可以通过`EAAccessory`的`protocolStrings`属性找到对应的协议,然后创建`NSInputStream`和...

    iphoe通过对象归档实现数据持久化

    对象归档是苹果的Foundation框架提供的一种机制,它能够将Objective-C的对象转换为字节流(即序列化),然后存储到磁盘上,如SQLite数据库、plist文件或二进制文件。当需要时,这个字节流可以读回并恢复成原来的对象...

    iOS Xcode创建文件时自动生成的注释方法

    总结起来,iOS开发者可以通过上述步骤对Xcode创建文件时的自动注释进行个性化定制,包括系统默认信息和自定义模板。这不仅可以使代码更具可读性,也能体现出个人或团队的代码风格。记得定期检查和更新这些设置,以...

Global site tag (gtag.js) - Google Analytics