摘要:#####1 NSURLConnection和Runloop(面试) (1)两种为NSURLConnection设置代理方式的区别 ```objc //第一种设置方式: //通过该方法设置代理,会自动的发送请求 // [[NSURLConnection alloc]initWithRequest:r
阅读全文
摘要:一:MiMEType:一般可以再百度上搜索到相应文件的MiMEType,或是利用c语言的api去获取文件的MiMEType ; //对该文件发送一个异步请求,拿到文件的MIMEType - (void)MIMEType { // NSString *file = @"file:///Users/文顶
阅读全文
摘要:一:输出流 #####7.0 输出流 (1)使用输出流也可以实现和NSFileHandle相同的功能 (2)如何使用 ```objc //1.创建一个数据输出流 /* 第一个参数:二进制的流数据要写入到哪里 第二个参数:采用什么样的方式写入流数据,如果YES则表示追加,如果是NO则表示覆盖 */ N
阅读全文
摘要:#####6.0 大文件断点下载 (1)实现思路 在下载文件的时候不再是整块的从头开始下载,而是看当前文件已经下载到哪个地方,然后从该地方接着往后面下载。可以通过在请求对象中设置请求头实现。 (2)解决方案(设置请求头) ``` //2.创建请求对象 NSMutableURLRequest *req
阅读全文
摘要:一:小文件下载 (1)第一种方式(NSData) ```objc //使用NSDta直接加载网络上的url资源(不考虑线程) -(void)dataDownload { //1.确定资源路径 NSURL *url = [NSURL URLWithString:@"http://120.25.226.
阅读全文
摘要:一:url转码,当url中涉及到中文的时候,要考虑转码,用UTF8对中文的url进行转码 二:MJExtension的使用 1:字典转模型框架 1)相关框架 a.Mantle 需要继承自MTModel b.JSONModel 需要继承自JSONModel c.MJExtension 不需要继承,无代
阅读全文
摘要:二:POST请求 ###0 补充(static) static关键字会在声明变量的时候分配内存,在程序运行期间只分配一次内存。之后再访问时,实际都是在访问原先分配的内存 如果使用static来修饰局部变量,那么局部变量在代码块结束后将不会回收,下次使用保持上次使用后的值。 如果使用static来修饰
阅读全文
摘要:一:RunLoop的应用 二:面试题: ####1.Runloop基础知识 - 1.1 字面意思 a 运行循环 b 跑圈 - 1.2 基本作用(作用重大) a 保持程序的持续运行(ios程序为什么能一直活着不会死) b 处理app中的各种事件(比如触摸事件、定时器事件【NSTimer】、select
阅读全文
摘要:一:RunLoop相关类: 其中:source0指的是非基于端口por,说白了也就是处理触摸事件,selector事件,source1指的是基于端口的port:是处理系统的一些事件 注意:创建一个RunLoop之后,有默认的运行模式mode,也可以为RunLoop指定运行模式,RunLoop启动必须
阅读全文
摘要:#import "ViewController.h" @interface ViewController () /** 注释 */ @property (nonatomic, strong) dispatch_source_t timer; @end @implementation ViewController /** * 1:GCD中的定时器:GCD中的定时器不受NSRanLoop影响 ...
阅读全文
摘要:一:RunLoop的简单介绍 ####1.Runloop基础知识 - 1.1 字面意思 a 运行循环 b 跑圈 - 1.2 基本作用(作用重大) a 保持程序的持续运行(ios程序为什么能一直活着不会死) b 处理app中的各种事件(比如触摸事件、定时器事件【NSTimer】、selector事件【
阅读全文
摘要:#import "ViewController.h" //第一种写法 typedef enum { XMGDemoTypeTop, XMGDemoTypeBottom, }XMGDemoType; //第二种枚举,定义类型 typedef NS_ENUM(NSInteger,XMGType) { XMGTypeTop, XMGTypeBottom, }; /...
阅读全文
摘要:三:SDWebImage的结构:最顶层的父类是SDWebImageManager,其下有两个子类如图所示
阅读全文
摘要:补充:https在plist中的配置: ###3.多图下载综合示例程序 (1)涉及知识点 01 字典转模型 02 存储数据到沙盒,从沙盒中加载数据 03 占位图片的设置(cell的刷新问题) 04 如何进行内存缓存(使用NSDictionary) 05 在程序开发过程中的一些容错处理 06 如何刷新
阅读全文
摘要:一:操作依赖和监听 二:线程间通信 - 2.4 NSOperation实现线程间通信 (1)开子线程下载图片 ```objc //1.创建队列 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; //2.使用简便方法封装操作并添加到队列
阅读全文
摘要:- 2.2 NSOperationQueue基本使用 (1)NSOperation中的两种队列 01 主队列 通过mainQueue获得,凡是放到主队列中的任务都将在主线程执行 02 非主队列 直接alloc init出来的队列。非主队列同时具备了并发和串行的功能,通过设置最大并发数属性来控制任务是
阅读全文
摘要:###2.NSOperation - 2.1 NSOperation基本使用 (1)相关概念 01 NSOperation是对GCD的包装 02 两个核心概念【队列+操作】 (2)基本使用 01 NSOperation本身是抽象类,只能只有它的子类 02 三个子类分别是:NSBlockOperati
阅读全文
摘要:2:MRC 3:通用宏定义: ```objc 使用Crearte函数创建的并发队列和全局并发队列的主要区别: 1.全局并发队列在整个应用程序中本身是默认存在的,并且对应有高优先级、默认优先级、低优先级和后台优先级一共四个并发队列,我们只是选择其中的一个直接拿来用。而Crearte函数是实打实的从头开
阅读全文
摘要:1.UIView和核心动画区别? 核心动画只能添加到CALayer 核心动画一切都是假象,并不会改变真实的值。 2.什么时候使用UIView的动画? 如果需要与用户交互就使用UIView的动画. 不需要与用户交互可以使用核心动画 3.什么场景使用核心动画最多? 在转场动画中,核心动画的类型比较多 根
阅读全文
摘要:可以同时执行多个动画. 创建组动画 CAAnimationGroup *group = [CAAnimationGroup animation]; 平移 CABasicAnimation *anim = [CABasicAnimation animation]; anim.keyPath = @"p
阅读全文