远泓科技iOS笔试题:Objective-C核心概念解析
"远泓科技的笔试题主要针对iOS软件开发岗位,包含了Objective-C语言的基础概念,内存管理,对象生命周期,以及iOS应用开发中的常见设计模式和方法调用的细节。" 1. 在Objective-C中,`alloc`是用于创建对象并分配内存的,与它语义相反的是`release`,因为`release`是用来减少对象引用计数的,当对象的引用计数为0时,会自动调用`dealloc`进行销毁。`dealloc`是与`alloc`配对使用的方法,因为当对象不再被使用时,需要释放内存。 2. `self.name = "object"` 和 `name = "object"` 的区别在于,前者是通过`self`关键字调用对象的成员属性,后者是直接赋值给局部变量。`self`在这里代表对象本身,所以`self.name`是对对象属性的设置,而`name`如果没有声明为实例变量或属性,则只是栈上的局部变量。 3. `retainCount`是Objective-C中表示对象被引用的次数,但它通常不建议在实际开发中直接使用,因为其值在某些情况下可能不准确。 4. 给出的代码段涉及对象`person`的生命周期管理: - `[Person alloc] init]`: 初始化一个新的person对象,`retainCount`为1。 - `[person retain]`: retainCount增加1,变为2。 - `[person release]`: retainCount减1,变为1。 - `[person release]`: 再次调用release,retainCount减1,若为0,对象会被销毁。 5. `Notification`是iOS中的消息通知机制,用于对象间通信,不需要知道接收者的具体实现,只需发布通知,感兴趣的对象会自动接收。 6. `Delegate`通常用于一对多的关系,即一个对象可以有多个代理对象,用于传递定制的事件或请求。`Notification`适用于多对多关系,任何对象都可以监听并响应特定的通知。 7. `viewDidLoad`在视图控制器的视图被加载到内存时调用,适合初始化视图及其子视图。`viewDidUnload`在内存紧张时调用,视图控制器的视图被卸载,应释放可释放的资源。自定义ViewController时,`viewDidLoad`里设置视图内容,`viewDidUnload`里释放内存占用高的资源。 8. `didReceiveMemoryWarning`在系统认为应用内存不足时被调用,提示视图控制器释放可释放的资源。默认操作是释放可重新加载的数据,比如图片。 9. 预处理指令`#define`定义常量:`#define YEAR_SEC (365 * 24 * 3600)`表示一年的总秒数,不考虑闰年。 10. C语言中的指针声明: - `int a;` 声明一个整型变量。 - `int *a;` 声明一个指向整型变量的指针。 - `int **a;` 声明一个指向指针的指针,也就是指针的指针。 - `int a[10];` 声明一个包含10个整数的数组。 - `int *a[10];` 声明一个包含10个整型指针的数组。 - `int (*a)[10];` 声明一个指向包含10个整数的数组的指针。 - `int (*a)(int);` 声明一个函数指针,该函数接受一个整数作为参数,返回整数值。 - `int (*a[10])(int);` 声明一个包含10个函数指针的数组,每个指针指向接受整数参数并返回整数值的函数。 这些知识点涵盖了Objective-C的基本语法、内存管理、对象生命周期、iOS应用开发中的设计模式以及C语言的指针操作,是iOS开发者必备的基础知识。
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 1
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦