ios的文件操作分为沙盒,plist,NSUserDefaults三种简单的操作,本文记录plist和NSUserDefaults的使用案例及介绍,Android的应用程序文件是可以提供给第三方程序访问数据的,但是ios程序是不可以的,plist类似于android的SharedPreferences ,android的文件操作也是通过健值对读取的,下面将先介绍ios的几种简单的数据读取;
1,NSString字符串
//NSString NSString *s1=@"nihao"; NSLog(@"字符串%@",s1);
运行结果:2015-11-29 15:27:47.900 StringCZ[693:25540] 字符串nihao
2,NSArray数组
//NSArray NSArray *array=[NSArray arrayWithObjects:s1,@"21",@"22", nil]; NSLog(@"%@",array); //遍历数组 for (int n=0; n<[array count]; n++) { //遍历指定位置的值objectAtIndex NSLog(@"%@",[array objectAtIndex:n]); }
运行结果:
2015-11-29 15:27:47.901 StringCZ[693:25540] (
nihao,
21,
22
)
2015-11-29 15:27:47.901 StringCZ[693:25540] nihao
2015-11-29 15:27:47.901 StringCZ[693:25540] 21
2015-11-29 15:27:47.901 StringCZ[693:25540] 22
3,不可变字典(类似于java的String ,可变字典类似于java的Stringbuffer,ios可变的标示是Mutable)
//类方法创建对象不需要释放 NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"C++" forKey:@"C"]; NSLog(@"获取C对应的值=%@",[dic1 objectForKey:@"C"]); //数组中添加字符串,整型数据,NSArray NSNumber *number=[NSNumber numberWithInt:100]; NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"C++",@"C",number ,@"num",array,@"arr", nil]; NSLog(@"数组中dic2%@",dic2);
运行结果:
2015-11-29 15:27:47.901 StringCZ[693:25540] 获取C对应的值=C++ 2015-11-29 15:27:47.901 StringCZ[693:25540] 数组中dic2{ C = "C++"; arr = ( nihao, 21, 22 ); num = 100; }
4,可变字典添加和移除数据(类似于java 的Map)
//初始化可变字典 NSMutableDictionary *dic =[[NSMutableDictionary alloc]init]; //添加数据 [dic setValue:@"Java" forKey:@"qq"]; [dic setValue:@"Android" forKey:@"A"]; [dic setValue:@"Object-c" forKey:@"O"]; NSLog(@"获取NSMutableDictionary的值=%@",dic); //移除qq [dic removeObjectForKey:@"qq"]; NSLog(@"获取移除qq的NSMutableDictionary的值=%@",dic);
运行结果:
2015-11-29 15:27:47.901 StringCZ[693:25540] 获取NSMutableDictionary的值={
A = Android;
O = "Object-c";
qq = Java;
}
2015-11-29 15:27:47.901 StringCZ[693:25540] 获取移除qq的NSMutableDictionary的值={
A = Android;
O = "Object-c";
}
5,NSData数据的读取(java文件一班通过流写入,写出,ios通过NSData字节操作)
// NSData数据的读取 NSData *data1=[@"nihao" dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"data1=%@",data1); NSString *str2=[[NSString alloc]initWithData:data1 encoding:NSUTF8StringEncoding]; NSLog(@"data2=%@",data1);
运行结果:
2015-11-29 15:27:47.902 StringCZ[693:25540] data1=<6e696861 6f>
2015-11-29 15:27:47.902 StringCZ[693:25540] data2=<6e696861 6f>
6,plist文件的读取
1,创建一个plistdemo的plist文件
2,bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.
我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"]; NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; NSLog(@"plist=%@", data);
运行结果:
plist={
age = 18;
"c_key1" = "add some content";
name = wj;
}
7,plist文件写入
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistdemo" ofType:@"plist"]; NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; [data setObject:@"add some content1" forKey:@"c_key1"]; [data setObject:@"add some content" forKey:@"c_key1"]; [data writeToFile:plistPath atomically:YES]; NSLog(@"plist=%@", data); NSString * strKey=[data objectForKey:@"age"]; NSLog(@"plist文件的key取values=%@",strKey);
运行结果:
2015-11-29 15:17:02.943 txl[656:20688] plist={
age = 18;
"c_key1" = "add some content";
name = wj;
}
2015-11-29 15:17:02.944 txl[656:20688] plist文件的key取values=18
8,NSUserDefaults读写数据
//存储数据 NSUserDefaults *nd=[NSUserDefaults standardUserDefaults];//单例模式创建 [nd setObject:self.tf1.text forKey:userNameKey]; [nd setObject:self.tf2.text forKey:userPwdKey]; [nd setBool:true forKey:onOffKey]; //同步数据 [nd synchronize];
读取数据:
//读取数据 NSUserDefaults *defaults= [NSUserDefaults standardUserDefaults]; self.tf1.text=[defaults valueForKey:userNameKey]; self.tf2.text = [defaults valueForKey:userPwdKey]; [defaults boolForKey:onOffKey];
相关推荐
在iOS开发中,Plist(Property List)是一种用于存储数据的简单文件格式,常用于配置文件、应用数据备份等场景。本教程将深入探讨如何在iOS应用中进行Plist的读写操作,这对于理解iOS应用的数据持久化至关重要。 ...
在iOS开发中,plist文件是一种常见的数据存储方式,它用于保存结构化数据,如数组、字典、字符串、数字和布尔值等。Plist是Property List(属性列表)的缩写,这种格式易于人类阅读,同时也能够被各种Apple设备和...
在iOS开发中,plist(Property List)文件是一种用于存储数据的通用格式,它可以包含字符串、数字、数组、字典等多种类型的数据。这类文件通常用于应用程序的配置或轻量级的数据持久化。本篇文章将深入探讨如何在iOS...
首先,NSData允许开发者将各种数据类型(如结构体、图像等)转换为二进制格式,以便于存储或在网络上传输。例如,在提供的代码片段中,我们看到如何创建两个结构体INT_STRUCT和STRING_STRUCT,并将它们的内存内容...
读写plist文件,方便iOS开发读写plist文件,方便iOS开发
`plist`(Property List)文件是苹果生态系统中常见的数据格式,用于存储结构化数据,如数组、字典、字符串、数字等。本教程将深入探讨如何在Objective-C中进行`plist`文件的读取和写入操作。 `plist`文件的结构...
在iOS开发中,plist(Property List)文件是一种用于存储数据的通用格式,它可以用来保存简单的数据结构,如字符串、数字、数组、字典等。Plist文件通常使用XML或二进制格式,易于人类阅读和机器解析。这篇教程将...
在iOS开发中,plist(Property List)文件是一种常用的存储数据的方式,它以XML或二进制格式保存数据,包括字符串、数字、数组、字典等类型。本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面...
Plist文件本质上是XML或二进制格式,可以包含字符串、数字、日期、数组、字典等多种数据类型。本DEMO主要讲解如何在Objective-C(OC)中动态地写入Plist文件,这对于程序运行时动态更新数据非常实用。 首先,我们...
`NSDictionary`可以存储键值对,其中键是`NSString`,值可以是任何`NSCoding`协议支持的对象,如基本数据类型、字符串、数组、字典等。 ### 5. 使用Swift的 Codable Swift 4及更高版本提供了`Codable`协议,可以...
要保存数据到.plist文件,我们需要先将数据结构转化为`NSData`对象,然后使用`writeToFile:atomically:`方法写入文件。 ```objc NSMutableDictionary *mutableDict = [NSMutableDictionary ...
文件中包含了各种数据类型,如字符串、数字、数组、字典等。 ### 数据类型 Plist支持以下基本数据类型: 1. **字符串 (String)**:表示文本,例如`<string>Hello, World!</string>`。 2. **数字 (Number)**:包括...
在iOS中读取.plist文件,可以使用`NSDictionary`或`NSArray`的类方法` dictionaryWithContentsOfFile:`或`arrayWithContentsOfFile:`。例如,如果.plist文件是字典类型,可以这样读取: ```swift if let path = ...
而plist(Property List)文件则是一种轻量级的数据存储格式,常用来存储结构化数据,如数组、字典、字符串、数字等。在这个项目“LMMPickerViewSample”中,我们看到选择器的实现结合了plist文件来加载数据,这为...
解密成功后,得到的NSData对象可以转换回原始的字典或数组形式,以便进一步处理。 ```objc + (NSData *)decryptData:(NSData *)encryptedData withKey:(NSData *)key { CCCryptorStatus status; size_t buffer...
.plist是“Property List”的缩写,它能存储字符串、数字、数组、字典等基本数据类型。在iOS应用中,我们通常使用`NSDictionary`或`NSArray`来解析和创建.plist文件。当文件以XML格式存储时,可以使用`...
在iOS和macOS开发中,Plist(Property List)文件是一种常见的数据存储格式,用于存储结构化的XML或二进制数据,如数组、字典、字符串、数字等。本话题聚焦于如何读取Plist文件,对其中的数据进行排序,然后将排序后...
pLists支持多种数据类型,包括字符串、数字、数组、字典等。 Swifty-pList 是一个专门为Swift 3设计的开源库,它的主要目标是简化pList文件的读取和写入操作。在Swift原生的Foundation框架中,虽然提供了处理pList...
Plist是一种苹果公司定义的轻量级的数据存储格式,它可以存储字符串、数字、布尔值、数组、字典等类型的数据,非常适合用于配置文件或者小型数据存储。 "plist 文件"是苹果的属性列表文件,它以XML或二进制的形式...
Plist(Property List)是苹果公司iOS和Mac OS X系统中的一种数据存储格式,用于存储XML或二进制形式的数据,如数组、字典、数字、字符串等。在Cocos2d-x中,plist常用来组织和管理游戏中的图片序列、动画帧数据。...