09 2019 档案
摘要:HTTPS请求的时候: [1]证书是受信任的,什么都不用做 [2]证书是不受信任的,是自签名的 (1)修改配置文件,禁用ATS特性 (2)信任并安装数字证书 NSURLSession的示例代码如下: AFN的设置
阅读全文
摘要:当我们请求接口的时候,服务器会返回一些数据,当我们打印的时候就会发现,打印出来的是unicode码,不是汉字。 这时候需要我们自己手动处理一下,让打印的时候输出汉字的格式。 方法如下: 新增一个分类,在分类中,重写描述的方法,如下:
阅读全文
摘要:文件上传的步骤: (1)确定上传路径 (2)创建“可变”请求对象 (3)修改请求方法为POST --设置请求头信息,告诉服务器这是一个文件上传请求 --按照固定的格式拼接数据 (4)设置请求体信息(文件参数) (5)创建会话对象 (6)根据会话对象来创建uploadTask (7)执行task发送请
阅读全文
摘要:1.用downloadTask下载图片 优点:简单 缺点:不能监听下载的进度 代码示例: 2.downloadTask下载比较大的文件 优点:已经解决内存飚升的问题 缺点:无法实现断点下载的功能 代码如下:
阅读全文
摘要:小文件的下载,代码示例: 大文件的下载,代码示例: 如果按照上面那段代码的话,可以实现功能,但是有一个问题,就是 内存会飚升。为了处理这个问题,直接把拿到的数据,就写入沙盒, 逻辑如下: 修改如下: 按照上面的代码可以解决内存的问题,但是,下完后,会发现,文件打不开,因为文件被损坏了,而且查看文件的
阅读全文
摘要:JSON的序列化,代码示例: JSON的反序列化,代码示例:
阅读全文
摘要:1.NSURLSession的使用流程 2.获取NSURLSession 3.常见的方法 4.NSURLSession中post请求的代码示例: 注意:NSURLSession中的completionHandle 的block是默认在子线程中调用的
阅读全文
摘要:RunLoop字面上的意思是,运行循环; 其基本作用:保持程序的持续运行; 处理App中的各种事件(比如:触摸事件、定时器事件、Selector事件) 节省CPU资源,提高程序性能:该做事时做事,该休息时休息 1.main函数中的RunLoop NSRunLoop 是基于CFRunLoopRef的一
阅读全文
摘要:(1)NSCach 可以设置最大缓存数据的数量,如果超出该限制那么内部会自动开启一个回收过程把最先存储的数据删除 (2)NSCach 可以设置代理,<NSCachDelegate>,可以监听 内部开启回收过程的时候调用 参考代码如下: 这个缓存,只限于当前运行的状态数据,如果把app关了重启,那么数
阅读全文
摘要:思路: (1)在显示图片前,先检查是否有内存缓存; (2)有内存缓存,直接使用; (3)如果没有内存缓存,再去检查是否有磁盘缓存; (4)有磁盘缓存,直接使用 + 保存 一份到内存中(以后使用方便) (5)没有磁盘缓存,就判断是否已经在下载了,如果没有下载,就开启线程下载;如果已下载,就下载图片并显
阅读全文
摘要:UIApplicationMain: 1、创建UIApplication--应用程序唯一标识:可设置状态栏、识别联网状态、设置数字、打电话、发邮件、发短信、打开网页 2、创建UIApplication代理,监听应用程序生命周期,内存警告 3、开启主运行程序,保证程序一直运行,监听事件 4、判断inf
阅读全文
摘要:1.当view被添加到另一个view上时调用 2.布局子控件时调用 3.屏幕旋转的时候调用 4.当view的尺寸大小改变的时候调用
阅读全文
摘要:setValueForKeysWithDictionary这个方法会遍历字典, 然后调用setValue:forKeyPath: 根据字符串,进行属性匹配: (1)根据key,到当前模型当中,去找有没有跟key相同名称的set方法; 如果有,就会调用该set方法,给属性进行复制; (2)如果没有se
阅读全文
摘要:其他的小记: 1.控制器的view是怎么创建的 2.loadView方法的分析
阅读全文
摘要:虽然苹果提供了AutoresizingMask的布局方式,这个方式局限性太大;只能解决父控件和子控件间的相对关系; 因此,推出了AutoLayout;苹果官方也是推荐开发者尽量使用autolayout来布局UI界面。 AutoLayout的两个概念: 代码示例:
阅读全文
摘要:(1)先了解一下这几个枚举值的含义: (2)代码演说: 在viewcontroller 用代码创建一个红色的view,如下: 运行完后的效果图如下: 让手机横屏显示后的效果如下: 红色的视图看不到了,因为横屏显示后,并没有重新给redView这个视图重新布局;但是如果加上AutoresingMask
阅读全文
摘要:键值监听,就是可以监听对象某个属性值的变化; 首先,在工程中,新建一个Person的类 在viewController中引入头文件“Person”,开始测试KVO的使用 运行程序,得出来的值如下:
阅读全文