首页 > 移动平台 > 详细

iOS技术面试07:第三方框架

时间:2015-12-08 23:59:10      阅读:471      评论:0      收藏:0      [点我收藏+]

1ios框架分为cocoa Touch:UIKit、Foundation、附属框架

              Media:OpenGL ES、EAGLQuartzCore Animation、Core Audio、                          Open Audio Library、Media Player

              Core Services:Address Book、Core Foundation

              Core OS:线程、文件、I/O、内存和网络

2iOS网络编程层次结构四意图

                  Cocoa层(NSURLBonjourgame Kit、webKit) 

                  Core Foundation(基于CCFNetworkCFNetServices)

                  OS 层(基于CBSD socket

3在 ARC项目中如何正确使用MRC的第三方框架?

ASIHTTPRequest目前不支持ARC,解决方法如下:

》选择TARGETS,然后选择BuildnPhases标签

》展开Compile Sources

》在所有ASIHTTPRequest相关的文件后面Compiler Flags中加入编译选项-fno-objc-arc

 

4SDWebImage框架的使用

https://github.com/rs/SDWebImage下载资源包Download ZIP

一个UIImageView的类目,给cocoa Touch框架添加了异步下载远程图片以及管理图片缓存的功能

 

AFNetworking框架的使用:https://github.com/AFNetworking/AFNetworking/

        官网地址:http:afnetworking.com

使用步骤:

1)将框架程序拖拽进项目

2)添加iOS框架引用

     -SystemConfiguration.framework

     -MobileCoreSwevices.framework

3)修改xxx-prefix.pch文件

       #import< MobileCoreSwevices / MobileCoreSwevices.h>

       #import< SystemConfiguration / SystemConfiguration.h>

MBProgressHUD框架的使用:https://github.com/jdg/MBProgressHUD

FMDB框架下载:https://github.com/ccgus/fmdb

ASI框架的使用:http://github.com/pokeb/asi-http-request/tarball/master

5不使用第三方框架如何实现文件上传

使用NSURLConnection发送HTTP请求即可

6不使用第三方框架如何实现断点续传?

需要自定义URLRequest的头部的range属性

7为什么选择第三方框架?第三方框架把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理,从而可以高效的与服务端API进行数据交换;提高开发效率和稳定性

8选择第三方框架的原则:

》是否广泛使用,有足够多的技术大牛验证过;

》尽量保证能够看懂其中的所有代码

》可以学习编写其中部分方法,但不要去直接修改

9常用的iOS网络开发框架AFNASI(非ARC,附属框架SSZipArchiver(下载地址:https://github.com/samsoffes/ssziparchive

AFN VS ASI

AFN:使用方法为一系列相关的请求定义一个HTTPClient,共用一个BaseURL.

      基于NSURL,性能和稳定性略差;

      只封装了一些功能,满足基本需求,忽略扩展功能;

      针对JSONXMLPlistImage四种数据结构封装各自处理器

ASI:使用方法每一个请求由构造方法初始化一个实例

      基于CFNetwork,性能稳定性比较高

扩展功能丰富;

没有针对数据类型特别封装,只是预留一些各种接口和工具供开发者自行扩展。

10AFNASI的选择

AFN适合逻辑简单的应用,适合开发资源上不丰富的团队

ASI适合已经发展一段时间的应用,或者开发资源相对丰富的团队

iOS技术面试07:第三方框架

原文:http://www.cnblogs.com/linxiu-0925/p/5031286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!