一、如何绘制UIView?
绘制一个UIView最灵便的办法就是由它本人实现绘制。实际上你不是绘制一个UIView,而是子类化一个UIView并赋予绘制本人的能力。当一个UIView须要执行绘制操作时,drawRect:办法就会被调用,笼罩此办法让你取得绘图操作的机会。当drawRect:办法被调用,以后图形的上下文也被设置为属于视图的图形上下文,你能够应用Core Graphic或者UIKit提供的办法将图形画在该上下文中。
二、什么是MVVM?次要目标是什么?长处有哪些?
MVVM即 Model-View-ViewModel
1.View次要用于界面出现,与用户输出设施进行交互、
2.ViewModel是MVVM架构中最重要的局部,ViewModel中蕴含属性,办法,事件,属性验证等逻辑,负责View与Model之间的通信
3.Model就是咱们常说的数据模型,用于数据的结构,数据的驱动,次要提供根底实体的属性。
MVVM次要目标是拆散视图和模型
MVVM长处:低耦合,可重用性,独立开发,可测试
三、get申请与post申请的区别
1.get是向服务器发索取数据的一种申请,而post是向服务器提交数据的一种申请
2.get没有申请体,post有申请体
3.get申请的数据会裸露在地址栏中,而post申请不会,所以post申请的安全性比get申请号
4.get申请对url长度有限度,而post申请对url长度实践上是不会收限度的,然而实际上各个服务器会规定对post提交数据大小进行限度。
四、谈谈你对多线程开发的了解?ios中有几种实现多线程的办法?
益处:
1.应用多线程能够把程序中占据工夫长的工作放到后盾去解决,如图片,视频的下载;
2.施展多核处理器的劣势,并发执行让零碎运行的更快,更晦涩,用户体验更好;
毛病:
1.大量的线程升高代码的可读性;
2.更多的线程须要更多的内存空间;
3当多个线程对同一个资源呈现抢夺的时候要留神线程平安的问题。
ios有3种多线程编程的技术:1.NSThread,2.NSOperationQueue,3.gcd;
五、XMPP工作原理;xmpp零碎特点
原理:
1.所有从一个client到另一个client的jabber音讯和数据都要通过xmpp server
2.client链接到server
3.server利用本地目录零碎的证书对其认证
4.server查找,连贯并进行互相认证
5.client间进行交互
特点:1)客户机/服务器通信模式;2)分布式网络;3)简略的客户端;4)XML的数据格式
六、地图的定位是怎么实现的?
1.导入了CoreLocation.framework
2.ios8当前,如果须要应用定位性能,就须要申请用户受权,在首次运行时会弹框提醒
3.通过本机自带的gps获取地位信息(即经纬度)
七、苹果内购实现流程
程序通过bundle存储的plist文件失去产品标识符的列表。
程序向App Store发送申请,失去产品的信息。
App Store返回产品信息。
程序把返回的产品信息显示给用户(App的store界面)
用户抉择某个产品
程序向App Store发送领取申请
App Store解决领取申请并返回交易实现信息。
App获取信息并提供内容给用户。
八、支付宝,微信等相干类型的sdk的集成
1.在支付宝开发平台创立利用并获取APPID
2.配置密钥
3.集成并配置SDK
4.调用接口(如交易查问接口,交易退款接口)
九、 gcd产生死锁的起因及解锁的办法
产生死锁的必要条件:1.互斥条件,2.申请与放弃条件,3.不剥夺条件,4.循环期待条件。
解决办法:采纳异步执行block。
十、生成二维码的步骤
1.应用CIFilter滤镜类生成二维码
2.对生成的二维码进行加工,使其更清晰
3.自定义二维码背景色、填充色
4.自定义定位角标
5.在二维码核心插入小图片
总结
以上就是这篇文章的全部内容了,心愿本文的内容对各位iOS开发者们在面试的时候能有所帮忙。