您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页06-网络(2)

06-网络(2)

来源:二三娱乐

0713JSONXML解压缩

1、模型、字典、JSON(02-json解析01)

网络请求下来的json数据在IOS里以NSData格式返回,这个时候需要转为字典
NSData→字典→模型

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
//然后字典再转为模型
NSObject *model = [YYModel xxxx:dict]

反过来有时候需要上传的参数格式是JSON字符串
字典→NSData→字符串

//这个data实际上就是JSON
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
//这个str就是JSON字符串或者说这里就是将字典转为字符串
NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

2、关于+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error的NSJSONReadingOptions三个枚举字的意思(04-json解析03)

  • NSJSONReadingOptions
    • NSJSONReadingMutableContainers = (1UL << 0)
      • 创建出来的数组和字典就是可变
    • NSJSONReadingMutableLeaves = (1UL << 1)
      • 数组或者字典里面的字符串是可变的
    • NSJSONReadingAllowFragments
      • 允许解析出来的对象不是字典或者数组,比如直接是字符串或者NSNumber

3、设计一个框架需要考虑的问题(05-json解析04-字典转模型框架)

  • 侵入性
  • 侵入性大意味着很难离开这个框架
  • 易用性
  • 比如少量代码实现N多功能
  • 扩展性
  • 很容易给这个框架添加新框架

4、XML解析(07-xml解析02-nsxmlparser)


  • NSXMLParser主要是运用那四个代理
  • GDataXML没有集成cocopods,只能手动导入,而且还要在两个地方设置动态库,用的话就是从跟节点一层一层去找

5、const和宏的区别(11-大文件下载)

const修饰的是常量,就是说编译的时候就能确定值的量,宏可以定义变量,由程序运行时再赋值

6、文件的解压缩(13-解压缩02)

基本上用到的是三方框架ZipArchive及其OC封装SSZipArchive

7、上传(14-文件上传01-思路)

说明:以两个下划线“--”+自定义字符串开始标志一个文件参数或者非文件参数,以“--”+自定义字符串+“--”标志传参结束,文件参数必须设置Content-Type,期间的空格也一个不能多不能少

一定要设置请求头的Content-Type和MIMEType

[request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", XMGBoundary] forHTTPHeaderField:@"Content-Type"];

如何在程序中获得MIMEType(也可在敲代码手动查)

- (NSString *)getMIMEType:(NSString *)file
{
    NSURLResponse *response = nil;
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:file]];
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    return response.MIMEType;
}

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务