### iPhone开发入门知识点详解 #### 一、Objective-C基础知识 - **语言特点**:Objective-C是一种面向对象的编程语言,它是C语言的超集,这意味着任何合法的C代码也是合法的Objective-C代码。Objective-C引入了面向对象的概念,如类、对象、消息发送等。 - **基本语法**: - 类的声明:`@interface ClassName : SuperClass` - 方法的声明:`-(returnType) methodName;` - 类的实现:`@implementation ClassName` - **内存管理**: - `alloc`: 分配内存。 - `new`: 分配内存并初始化。 - `autorelease`: 在适当的时候释放对象。 - `retain`: 增加引用计数。 - `release`: 减少引用计数,如果为0则释放内存。 #### 二、创建iPhone应用程序 - **项目初始化**: - 使用Xcode创建新项目时,可以选择模板来快速搭建项目结构。 - **主函数**:每个iPhone应用的入口都是`main`函数,通常由Xcode自动生成。 ```objective-c int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; } ``` - **自动释放池**: - `NSAutoreleasePool`用于管理Objective-C对象的生命周期,确保在适当的时候自动释放对象。 - **UIApplicationMain函数**: - 初始化UIApplication对象及其代理对象,启动事件处理循环。 #### 三、应用委托(Application Delegate) - **定义与实现**: - 应用程序委托通常由Xcode模板自动生成。 - 头文件:`MoveMeAppDelegate.h` - 实现文件:`MoveMeAppDelegate.m` - **职责**: - 创建应用程序窗口并初始化用户界面。 - 提供额外的初始化工作,如自定义数据引擎。 - 响应中断(电话呼入、短信等)。 - 响应内存不足情况,释放内存。 - 当系统要求时,负责退出应用程序。 - 处理从外部传入应用程序的URLs。 #### 四、应用窗口创建 - **创建过程**: - 每个应用需要创建一个覆盖全屏的窗口。 - 应用不允许与其他应用并行运行。 - 一般只允许有一个窗口(UIWindow实例)。 - **nib文件**: - nib文件是一种资源文件,包含一组“freeze-dried”对象。 - 可以使用Interface Builder创建和编辑nib文件。 - 运行时加载nib文件会自动重建对象并配置它们。 - **MainWindow.xib**: - 包含MoveMeAppDelegate实例。 - 连接UIApplication对象和应用委托对象。 - 通过File’s Owner图标查看连接关系。 #### 五、Objective-C内存管理 - **自动释放**: - 自动释放池(`NSAutoreleasePool`)管理对象的生命周期。 - 对象可以通过`autorelease`方法放入自动释放池,池会在适当时候释放这些对象。 - **内存分配与释放**: - `alloc`: 分配内存空间。 - `new`: 分配内存并初始化。 - `release`: 减少对象的引用计数。 - `retain`: 增加对象的引用计数。 通过以上详细的知识点介绍,我们可以了解到创建iPhone应用程序的基本步骤和技术要点,包括Objective-C的基础知识、项目的初始化过程、应用委托的定义与实现、应用窗口的创建过程以及Objective-C的内存管理机制。对于初学者来说,这些知识点是进入iPhone开发领域的必备知识。
剩余19页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助