1 / 105
文档名称:

面试题总结研讨.docx

格式:docx   页数:105页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

面试题总结研讨.docx

上传人:q2299971 2016/7/21 文件大小:0 KB

下载得到文件列表

面试题总结研讨.docx

相关文档

文档介绍

文档介绍:面试题总结代理为什么用 weak 指明该对象并不负责保持 delegate 这个对象, delegat e 这个对象的销毁由外部控制该对象强引用 delegate ,外界不能销毁 delegate 对象, 会导致循环引用(Retain Cycles) mvvm: 在典型的 MVC 应用里, 许多逻辑被放在 View Controller 里。它们中的一些确实属于 View Controller ,但更多的是所谓的“表示逻辑( presentation logic ) ; 为了不让控制器日益增大, 便于测试管理, 便出现了 MVVM. MVVM: 它其实是一个 MVC 的增强版,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model 在 iOS 上使用 MVVM 的动机, 就是让它能减少 View Controller 的复杂性并使得表示逻辑更易于测试 tableView cell 滑动效果删除按钮这个方法, 就有删除按钮 tableView:(UITableView *) mitEditingStyle 方法实现: cell 上面有个 conlentView , 上面的文字加到了 conlentView 上,conlentView 旁边有个 textLabel, 当我们往左边滑动的时候,cell 底层就有一个按钮,把 conlentView 设置一个手势, 删除按钮就显示出来了, 滑完之后就不能动了, 这个简单, 做个判断就 ok了, 就判断 x减去的这个值是不是等于按钮的宽度, 如果滑动到设定的值, 无论怎么滑, 这个值都不会变了, ios8 之后-(NSArray *) tableView :(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath 1 、熟练掌握 C/Objective-C/CocoaTouch 编程,熟练使用 MacOS/iOS 系统, + 开发环境和 Instrument 、 Analyze 测试工具 CocoaTouch 编程: 基于 CocoaTouch 框架下的编程, 用于开发 iphone\ipod\ipad 上的软件, UIKit , Foundatio n 框架。 Analyze : 静态内存分析, 检测代码是否有潜在的内存泄露。 Instrument :检测程序运行过程中内存变化。 allocation : 检测内存分配情况。 leaks : 检测内存泄露情况。 2 、熟练 MVC 、代理、单例、观察者(通知中心, KVO )、工厂模式等常用设计模式。 MVC : 模型-视图-控制器, 将数据和视图分离开, 模型用于存储管理数据,视图用来呈现用户界面,用于与用户交互,控制器作为中介者,当模型数据改变时通过控制器更新相应的视图界面,视图产生的触摸事件通过代理在控制器中处理, MVC 具有低耦合性、高重用性、易于维护性代理:代理方和委托方,委托方声明协议,代理方遵循这个协议,并实现相应的协议方法,用于两个类之间通信单例:单例就是在整个程序运行过程中保证这个类只有一个对象, 保证整个程序中都能使用该实例, 共享资源, 节约内存。( 代理: 控制器之间的传值什么时候用代理: 传值, 封装一个控件经常使用代理,为了程序的扩展性, 传递消息, 解耦) 懒汉式:在程序运行过程中第一次用到单例对象是才去创建。饿汉式:一进入程序就创建单例对象(类装载进内存会 load 方法,只调用一次。在此方法中创建)。线程安全:给创建单例对象加互斥锁,保证同一时间只有一条线程访问观察者: 一个对象状态改变,通知正在对他进行观察的对象,这些对象根据各自要求做出相应的改变。 KVO : Key-Value-Observing 被观察者和观察者同时实现一个协议跟通知相类似, 就是我有个 label, 里面写上文字( 朱林), 之后我, 我再放个 button 按钮去监听这个 label, 如果我按钮执行,看到 labe l 文字改变, 这是执行了相同的协议, 就是所谓的 kvo 通知:对象先对通知中心进行注册,通知中心就会把通知发送到注册过通知的对象,通知中心和接受者是一对多的关系,如果不想接受通知,则需要移除通知。( 通知: 通知做事情, 传值但是更多时候是通知其他对象做事情什么时候使用: 通知一般两个没有关系的对象要进行交流, 就使用通知比如微博: 首页和消息, 比如我在首页做某件事情, 要通知消息, 他们不是上下级关系, 是同级关系, 没关系, 这时候就得用通知, 这时候首页发送一个通知, 消息就接收一个通知发出通知:[NSNotificationCenter defaul