iOS知识点三

来源:互联网 发布:神州数码融信软件 编辑:程序博客网 时间:2024/04/25 19:45

iOS知识点三

1.线程,有哪几种线程类型及使用;
pthread
NSThread
NSOperation
GCD

2.内存管理,内存优化;
内存管理:
OC对象需要管理内存,基本数据类型和构造类型等不需要管理内存
有alloc、new、copy 就需要release(需要遵守谁创建,谁回收的原则。也就是谁alloc,谁release;谁retain,谁release),引用计数有增就要有减

内存优化:
图片、UITableView、循环引用
使用Analyze、Instruments等工具检测

3.cocoapods;
CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程。整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的工程使用

4.KVO,KVC;
KVO: 注册监听(某个对象的某个属性),实现回调方法,移除监听,底层是利用Runtime,在重写setter方法的时候值发生变化就通知监听者
KVC: 原理是先查有没有setter/getter方法,有则调用,如果没有setter/getter方法则访问成员变量,如果仍未找到,则调用valueForUndefinedKey:和setValue:forUndefinedKey:方法。
KVC好处:支持关联访问:valueForKeyPath: @”a.b”, 修改私有变量:[pageControl setValue:[UIImage imageNamed:@”home_slipt_nor”] forKeyPath:@”_pageImage”], KVC还可以修改只读属性;

5.strong,weak,什么时候会造成循环引用;
相互强引用就会造成循环引用:a对象创建出来引用计数器为1,b对象创建出来引用计数器为1, a强引用b,b的引用计数器为2,b强引用a,a的引用计数器为2,当a和b销毁的时候,引用计数器各减1,各自还保留了一个引用计数,所以都不能被释放,就造成了循环引用。

6.图片缓存,缓存到内存,缓存到本地;

8.include,import区别;
#include会重复引入,#import不会

9.性能优化;

10.MVC,MVVM;iOS中是如何体现MVC的;

11.算法:两个单向链表,头指针分别是H1,H2,其中有一个节点相交,如何找到这个节点。

12.OC的动态性、以及运行时runtime,为什么是动态语言;

13.Http请求GET、POST的区别,Http是在网络中的哪一层;
HTTP/FTP什么的就属于应用层。ARP属于网络层, TCP/UDP属于传输层

14.Notification;

15.垃圾回收,ARC;

16.网络的三次握手;

17.OC中是如何找到一个方法的
消息机制:方法调用的本质实际上就是消息发送机制,当调用一个方法,在运行时方法调用者通过isa指针会找到该类的类对象或者元类对象,再根据方法名得到对应的方法编号,由方法编号去类对象或者元类对象的方法列表中查找方法,如果找到方法,就会去方法区找到对应的方法实现,如果没有找到方法就会去父类中寻找,如果都没有找到方法,则会报错。

18.请解释一下Handoff是什么,HomeKit是什么?
Handoff:我们可以在一部iOS设备的某个应用上开始做一件事,然后在另一台iOS设备上继续做这件事
HomeKit:是用来沟通和控制家庭自动化配件(智能家居?)

19.沙盒机制
iOS应用程序只能在为该程序创建的文件系统中读写文件,不可以去其它地方访问,此区域被称为沙盒

20.VoiceOver是苹果“读屏”技术的名称,属于辅助功能的一部分。VoiceOver可以读出屏幕上的信息,以帮助盲人进行人机交互

21.Cocoa/Cocoa Touch是什么?
Cocoa:针对于OS X平台,包含Foundation和AppKit等框架
Cocoa Touch:针对iOS平台,包含Foundation和UIKit等框架

22.请描述SpriteKit和SceneKit的作用。
游戏开发框架

23.Metal是什么?
它是一个支持GPU加速3D绘图的API。

24.响应者链条
响应者链就是由一系列的响应者对象(UIResponder的子类)构成的一个触摸传递的层次结构。
事件的传递和响应分两个链:
传递链条: 由UIApplication从事件队列取出事件,交由UIWindow处理,UIWindow传递到栈顶控制器View,一直传递到最适合处理的子View
如何判断谁是最合适的子View:1.该View是否能接收事件,2.触摸点是否在自己身上

响应链条: 由子View反向传到父类,最后传到UIApplication,如果没有谁处理,则事件不了了之

0 0
原创粉丝点击