NSData是一序列字节,用到地方还是挺多。今天整理一下。
NSURLConnection 请求回来返回的字节。可能是JSON,XML,也有可能是其他格式。
一些应用场景
NSString *jsonPath =@"http://www.weather.com.cn/adat/sk/101010100.html";
NSURLRequest *resuest = [NSURLRequest requestWithURL:[NSURL URLWithString:jsonPath]];
[NSURLConnection sendAsynchronousRequest:resuest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
{
NSError *error = nil;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSDictionary *weatherDic = [dic objectForKey:@"weatherinfo"];
NSLog(@"JSON 城市 %@",[weatherDic objectForKey:@"city"]);
NSLog(@"JSON 城市ID %@",[weatherDic objectForKey:@"cityid"]);
NSLog(@"JSON 温度 %@",[weatherDic objectForKey:@"temp"]);
}];
又如 NSData 获取URL 返回的数据。
NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:jsonPath]];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
NSDictionary *weatherDic = [dic objectForKey:@"weatherinfo"];
文件操作
NSFileManager *manager = [NSFileManager defaultManager];
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
path = [path stringByAppendingPathComponent:@"p.txt"];
NSData *filedata = [manager contentsAtPath:path];
if (filedata == nil)
{
NSLog(@"文件读取失败");
}
NSString 读取字符串使用
- (instancetype)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding;