没有合适的资源?快使用搜索试试~ 我知道了~
非常经典的开发面试专用
需积分: 3 1 下载量 109 浏览量
2016-03-01
13:39:17
上传
评论
收藏 96KB DOCX 举报
温馨提示
试读
1页
面试专用 非常经典的开发文档
资源推荐
资源详情
资源评论
精通 Objective-C 语言,熟悉 C、swift 语言,有良好的编程习惯。
精通 iOS 核心 SDK,精通 XIB、StoryBoard 以及纯代码编程开发。
精通 OC 的内存管理机制和熟悉 runtime 运行机制。
内存管理原理
其实在 ObjC 中内存的管理是依赖对象引用计数器来进行的:在 ObjC 中每个对象内部都
有一个与之对应的整数(retainCount),叫“引用计数器”,当一个对象在创建之后它的引
用计数器为 1,当调用这个对象的 alloc、retain、new、copy 方法之后引用计数器自动
在原来的基础上加 1(ObjC 中调用一个对象的方法就是给这个对象发送一个消息),当调
用这个对象的 release 方法之后它的引用计数器减 1,如果一个对象的引用计数器为 0,则
系统会自动调用这个对象的 dealloc 方法来销毁这个对象
内存释放的原则
手动管理内存有时候并不容易,因为对象的引用有时候是错综复杂的,对象之间可能互相
交叉引用,此时需要遵循一个法则:谁创建,谁释放。
1> runtime,运行时机制,它是一套 C 语言库
2> OC 代码都是基于 Runtime 实现的,即编写的 OC 代码最终都会转成 Runtime 的代码,比如类转成
了 runtime 库里面的结构体等数据类型,方法转成了 runtime 库里面的 C 语言函数,平时调方法都是转
成了 objc_msgSend 函数(所以说 OC 有个消息发送机制)
3> 因此,可以说 runtime 是 OC 的底层实现,是 OC 的幕后执行者
4> 有了 runtime 库,能做什么事情呢?runtime 库里面包含了跟类、成员变量、方法相关的 API,比如
获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等
(当时答了这里面的一部分,但是他说不是他想要的。我就又跟他说 KVO 是 runtime 的一个典型应用,
他瞪了我两眼。不知道丫想要什么。)
获取类的所有成员变量
动态产生类,成员变量和方法
动态修改类,成员变量和方法
对换两个方法的实现(swizzle)
熟悉 APP 性能优化和界面流畅技巧。
掌握 iOS 适配, iPhone 和 iPad 通用开发。
熟悉 UIKit、Quartz2D、CoreAnimation 等核心框架。
熟练使用 SQLite 和 CoreData 数据持久化及 CRUD。
精通 KVC、KVO、通知等机制以及 MVC、代理、单例、观察者等设计模式。
精通网络编程,精通 XML 和 JSON 的解析,熟悉 TCP/UDP/IP 等网络协议。
熟练使用 git,svn 源代码管理工具。
熟练使用 AFNetworking、SDWebImage、AsyncDisplayKit、FMDB、Masony 等
第三方框架。
熟练使用友盟分享,百度地图,二维码扫描。
熟悉完整的 IOS 应用开发与发布过程(如开发账号,证书,发布应用的流程等)。
了解 HTML5 和 JavaScript。
资源评论
qq_34129481
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
- A pure Python library for adding tables to a Tkinter application
- Vector资源文件.zip
- MobaXterm-Installer
- MicroMsg.xlsx
- 88-520告白(520气球).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功