Objective-C学习总结:self, super与iPhone游戏开发
"这份资源是一份关于Objective-C学习的PPT总结,主要涵盖了self和super的概念,以及iPhone游戏开发的一些关键点。作者伍晓东在2012年1月9日进行了分享,内容包括程序实现客户端游戏与网页游戏的区别,Objective-C语言的介绍,特别是Cocoa框架的简述。此外,还提到了Windows和Android的游戏开发循环机制,并对Objective-C的历史、特点以及内存管理和数据处理进行了讲解。" 在Objective-C中,`self` 和 `super` 是两个非常重要的概念。`self` 是一个指向当前对象的指针,它在消息传递中起到关键作用,通常用于调用对象的方法。例如,当你写 `[self method名称]` 时,你是告诉当前对象去执行名为 `method名称` 的方法。这允许你无须知道对象的具体类型就能调用其方法,增强了代码的灵活性和多态性。 另一方面,`super` 是一个特殊的标识符,它并不直接指向某个对象,而是用于向超类(父类)发送消息。当你使用 `[super method名称]`,你会调用超类中对应的方法,而不是当前类中重写的方法。这对于继承和方法覆盖的场景特别有用,可以确保调用到父类的行为,而不会被子类的实现所覆盖。 在iPhone游戏开发中,相比网页游戏,客户端游戏更强调游戏循环和内存管理。游戏循环是保持游戏持续运行的关键,它通常包含一系列的更新、渲染和输入处理步骤。而内存管理则至关重要,因为移动设备的资源有限,高效地使用内存可以确保游戏性能和稳定性。 PPT中还提到了Windows事件循环处理机制,以及Android上通过Handler进行游戏循环的方法。在Windows下,游戏的运行过程通常依赖于操作系统提供的事件驱动。而在Android上,开发者可能需要自定义线程来刷新屏幕,并使用Handler来发送消息控制程序状态。 Objective-C起源于20世纪80年代,由Brad Cox创造,目的是结合C语言的可移植性和Smalltalk的面向对象特性。随着苹果公司采用Objective-C作为其操作系统开发的主要语言,尤其是在iOS和macOS上的Cocoa和Cocoa Touch框架中,Objective-C得到了广泛的应用。它的类系统、动态类型和内存管理规则(如引用计数)都是其独特之处,为开发者提供了强大的工具来构建复杂的应用和游戏。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/d20ad284481647738892efe8b10d2419_weixin_42203424.jpg!1)
- 粉丝: 15
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)