iOS-RunLoop的浅显见解
2016-07-08 本文已影响384人
Andy_WangPeng
首先非常感谢李明杰老师的视频教程教导,虽然只是视频,却感到身临其境,大家可以关注MJ老师的微博:@李明杰
1.什么是RunLoop?
答:程序开启时,都会自动创建一个主线程,自动运行runLoop,并且每一个线程都有自己的RunLoop对像。run:运行:Loop:循环。runLoop处理事件主要包含两种输入源:
- 它包含Inpust sources (输入源),它主要处理其它线程的消息。其它线程回到主线程做事情,就是通过它来决定的。处理异步消息的
- 还有一个timer sources (定时器),定时检查主线程事件。比如:检查UI界面上是否有点击事件、刷新事件等。处理同步消息的,在特定时间或者一定时间间隔发生。
**番外一游
0.AFN的认识
答:
1.AFN基于NSURL,性能相对来说还可以,主要是对NSURLSession对象进行了进一步的封装
2.AFN采取Block的方式处理请求
3.AFN封装了一些常用功能,满足基本需求,直接忽略了很多扩展功能,比如没有封装同步请求
1.SDWebImage具体如何实现啊?
答:
1.
利用NSOperationQueue和NSOperation下载图片,还利用了一些GCD的一些函数 (比如:解码GIF图片)
2.它是利用URL作为『key』, NSOperation最为『value』
3.它是利用URL作为『key』,image作为『value』
###SDWebImage
这个框架相对来说很强大`
2.App需要加载大量的数据,给服务器发送请求时卡住该做些什么呢?
答:
1.
首先设置请求超时
2.给用户提示请求超时
3.根据用户操作再次请求数据
3.什么是封装,会者说构建框架需要注意什么?
答:
1.提供给外界的接口功能是否使用、够用
2.别人使我框架时候,能不能根据类名、方法名、就猜出接口的具体作用
3.别人调用我框架时,提供的参数是否够用、调起来很简单,操作少
4.别人使用我框架时,要不要再导入依赖其它的框架