### 一淘网iOS入门资料知识点总结 #### 1. Objective-C简介 - **Objective-C**(简称OC)是一种面向对象的编程语言,它是C语言的超集,并且结合了解释型语言的灵活性与编译型语言的高效执行能力。 - OC支持运行时特性,比如动态绑定和动态消息传递机制,这使得它能够在运行时决定如何处理方法调用。 - **运行时系统**(Run-time system):控制线程切换、消息队列管理和事件分发等,这是OC的核心特性之一。 #### 2. Objective-C的基础语法与用法 - **语言特性**: - **OC是编译语言**,但也是动态语言,这意味着它可以进行静态类型检查,同时支持运行时动态行为。 - 类的数据结构支持动态查找功能,如方法查找、内存分配等。 - 关键字实际上是类型的定义,如`id`、`Class`等。 - **类库完善**:提供了类似Java的丰富类库支持。 - **元类支持**:类似于Python中的元类特性,可以在运行时修改或扩展类的行为。 - **函数调用机制**:采用类似于查表的方式,简单高效地进行方法调用。 #### 3. 文件类型 - **.xcodeproj**:Xcode项目文件,定义了整个项目的文件结构和配置。 - **.pch**:预处理文件,用于定义全局宏、导入公共头文件等。 - **.xib**:用户界面文件,用于定义UI组件的位置、尺寸等属性。 - **.h**:头文件,声明类的接口。 - **.m**:实现文件,包含类的方法实现。 - **.mm**:混合编译文件,支持Objective-C、C和C++的混合编程。 - **.framework**:框架文件,包含实现某个功能所需的头文件和库文件。 #### 4. 基础定义 - **关键字**: - `Class`:类指针类型,不同于C语言中的`class`关键字。 - `id`:对象指针类型,可以指向任何类的对象。 - `SEL`:选择器类型,用于表示方法名。 - `IMP`:函数指针类型,用于表示方法的实现。 - **类与接口**: - 定义类使用`@interface CLASS_NAME : SUPER_CLASS_NAME <PROTOCOL>`。 - 实现类使用`@implementation CLASS_NAME`。 - 定义协议使用`@protocol PROTOCOL_NAME`。 - **成员变量与成员函数**: - 成员变量可以使用`@property`声明,自动生成getter和setter方法。 - 方法声明使用`-(RETURN_TYPE)FUNCTION_NAME:(ARGUMENT_TYPE)arg1`。 - 选择器表示方法名,如`@selector(FUNCTION_NAME)`。 #### 5. 示例对比 - **C++示例**: ```cpp class Chinese : public People { int age; void eat(char *food); }; ``` - **Objective-C示例**: ```objc @interface Chinese : People @property (nonatomic, assign) NSInteger* _age; -(void)eat:(NSString*)food; @end ``` 通过上述知识点的总结,我们可以了解到Objective-C作为一种面向对象的编程语言,在iOS开发中扮演着极其重要的角色。它不仅具有丰富的特性和强大的类库支持,还具备简洁高效的代码实现方式。对于初学者来说,熟悉这些基本概念是进入iOS开发领域的关键一步。
剩余35页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot和Vue的后台管理系统.zip
- 用于将 Power BI 嵌入到您的应用中的 JavaScript 库 查看文档网站和 Wiki 了解更多信息 .zip
- (源码)基于Arduino、Python和Web技术的太阳能监控数据管理系统.zip
- (源码)基于Arduino的CAN总线传感器与执行器通信系统.zip
- (源码)基于C++的智能电力系统通信协议实现.zip
- 用于 Java 的 JSON-RPC.zip
- 用 JavaScript 重新实现计算机科学.zip
- (源码)基于PythonOpenCVYOLOv5DeepSort的猕猴桃自动计数系统.zip
- 用 JavaScript 编写的贪吃蛇游戏 .zip
- (源码)基于ASP.NET Core的美术课程管理系统.zip