欢迎来到天天文库
浏览记录
ID:42510552
大小:25.97 KB
页数:20页
时间:2019-09-16
《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,
此文档下载收益归作者所有