2019iOS面试题总结

2019iOS面试题总结

ID:42510552

大小:25.97 KB

页数:20页

时间:2019-09-16

2019iOS面试题总结_第1页
2019iOS面试题总结_第2页
2019iOS面试题总结_第3页
2019iOS面试题总结_第4页
2019iOS面试题总结_第5页
资源描述:

《2019iOS面试题总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、iOS面试题总结  1.每天上班都是活跃在各大iOS开发群,碰到别人的问题,自己不懂的都悄悄记下来,自己去百度,也能学到一些东西,但是不能系统的学习.  2.下班都是看看别人写好的博客,也能学到一些技术,但是这样只能依赖于别人。  3.周六日自己在看别人源码,试着去学习别人写框架的逻辑。4.还试着看了写官方文档,但是碍于本人的英语水平的差距,无法去理解文档上面的思想。  5.试着去学习了PHP,虽说现在可以写后台和Api接口,但是关于PHP如何运行,一窍不通。友情链接:  CALyer解读--总有一个点会让你想起它iOS

2、11和iPhoneX的适配  iOS开发个人开发账号的证书详细使用及介绍自定义XIBView里面添加其他自定义XibView  重点:希望大家分享下自己的学习方式和心得,七秒感激不尽!!!  1.为什么说Objective-C是一门动态的语言?  类的类型和数据变量的类型都是在运行是确定的,而不是在编译时确定。例如:多态特性,我们可以使用父类指针来指向子类对象,并且可以用来调用子类的方法。运行时(runtime)特性,我们可以动态的添加方法,或者替换方法。  2.讲一下MVC和MVVM,MVP?  MVC:简单来说就是,

3、逻辑、试图、数据进行分层,实现解耦。MVVM:是Model-View-ViewMode模式的简称。视图(View)、视图模型(ViewModel)、模型(Model)三部分组成.比MVC更加释放控制器臃肿,将一部分逻辑(耗时,公共方法,网络请求等)和数据的处理等操作从控制器里面搬运到  ViewModel中  MVVM的特点:  1低耦合。View可以独立于Model变化和修改,一个  ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。  2可

4、重用性。可以把一些视图的逻辑放在ViewModel里面。  让很多View重用这段视图逻辑。  3独立开发。开发人员可以专注与业务逻辑和数据的开发  (ViewModel)。设计人员可以专注于界面(View)的设计。4可测试性。可以针对ViewModel来对界面(View)进行测试MVP:本xx没有接触,希望可以得到大家的帮助。可以在下面留言。  3.为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别  代理是使用weak来修饰的。1.使用weak是为了避免循环引用。2

5、.当使用weak修饰的属性,当对象释放的时候,系统会对属性赋值nil,object-c有个特性就是对nil对象发送消息也就是调用方法,不会cash。  delegate:传递的是事件(even),代理可以让A对象通知B对象,我(A)发生的变化,前提B遵循了A的代理,并且实现了A的代理方法。  dataSource:传递的是数据。如果A对象声明了数据源,当我们创建A对象的时候,我们就该实现数据源,来告诉A,他所需要的一些数据。例如:tableView数据源方法,需要告诉它,我要实现几组cell,每组cell多少行cell,

6、实现的cell什么样式,什么内容  同样delegate和dataSource,都是可以使用require和optional来修饰的。  代理和Block的区别  相同点:代理和Block大多是我们都可以用来做倒序传值的。我们都得注意避免循环引用。不然我们去使用代理还是Block的时候,都需要判断它们是否实现  不同点:代理使用weak修饰,代理必须先声明方法。当我们调用代理的时候要判断是否已经实现。  block:使用的是copy来修饰,block保存的是一段代码,其实也就是一个函数。并且可以自动捕捉自动变量,如果想修

7、改此自动变量,还必须使用__block修饰。  4.属性的实质是什么?包括哪几个部分?属性默认的关键字都有哪些?@dynamic关键字和@synthesize关键字是用来做什么的?  属性是描述类的特征,也就是具备什么特性。三个部分,带下划线的成员变量,get、setter方法。  默认关键字:readwrite,assign,atomic;--是针对基本类型(NSInteger,BOOL,NSUInteger,int,等)  但是针对引用类型,默认:strong,readwrite,atomic  @dynamic:修

8、饰的属性,其getter和setter方法编译器是不会自动帮你生成。必须自己是实现的。  @synthesize:修饰的属性,其getter和setter方法编译器是会自动帮你生成,不必自己实现。且指定与属性相对应的成员变量。  5.属性的默认关键字是什么?  默认关键字,基本数据:atomic,readwrite,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。