一、如何绘制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开发者们在面试的时候能有所帮忙。