Objective-C语法总结(第一版)

### Objective-C语法总结知识点#### 1. XCode、Objective-C、Cocoa - **XCode**:开发环境,类似于Visual Studio或NetBeans等工具,用于编写和调试代码。 - **Objective-C**:面向对象编程语言,结合了C语言的基础特性与Smalltalk的对象模型。 - **Cocoa**: Apple提供的应用程序框架集合,包括大量的API,用于Mac OS X和iOS应用开发。 #### 2.文件扩展名- **.c**: C语言源文件。 - **.cc, .cpp**: C++语言源文件。 - **.h**:头文件,通常包含类定义、函数声明等。 - **.m**: Objective-C源文件。 - **.mm**: Objective-C++源文件。 - **.pl**: Perl源文件。 - **.o**:编译后的目标文件。 #### 3.数据类型- **int**:整数值,无小数点。至少保证16位精度。 - **short int**:减少精度的整数值,在某些机器上占用的空间是int的一半。 - **long**:较大的整数值,至少保证32位精度。 - **float**:单精度浮点数。 - **double**:双精度浮点数,精度高于float。 - **char**:字符类型。 - **unsigned**:无符号整数,仅表示非负数。 - **signed**:有符号整数,可以表示正负数。 #### 4.装箱与复合数据类型- **装箱**:将基本数据类型包装为对象的过程,例如`NSNumber *number = [NSNumber numberWithInt:10];`。 - **一维数组**:由相同类型的元素组成的序列。 - **可变长度数组**:数组的大小可以在运行时改变。 - **多维数组**:包含一个或多个数组的数组。 - **结构体**:一种复合数据类型,可以包含不同类型的成员。 - **联合体**:共享同一块内存区域的不同数据类型的组合。 - **指针**:存储变量地址的数据类型。 - **枚举**:一组具有名称的常量集合。 - **typedef**:为现有类型创建新的别名。 - **类型修饰符**: - `const`:表示值不可更改。 - `volatile`:表示变量可能在任何时刻被外部修改。 #### 5.操作符优先级- Objective-C中定义了多种操作符,它们按照一定的顺序执行。了解这些操作符的优先级对于正确编写表达式至关重要。 #### 6.成员变量可访问性- **@private**:只能在当前类的实现文件中访问。 - **@protected**:在当前类及其子类中均可访问。 - **@public**:在任何地方都可以访问。 - **@package**:在同一个框架内部的所有类之间共享。 #### 7. id与NSString - **id**:通用对象指针类型,可以指向任何类的实例。 - **NSString**:不可变字符串类。 #### 8. NSArray, NSMutableArray, NSSet, NSMutableSet - **NSArray, NSMutableArray**:分别用于存储不可变和可变对象数组。 - **NSSet, NSMutableSet**:用于存储不可变和可变对象集。 #### 9. NSDictionary, NSMutableDictionary - **NSDictionary, NSMutableDictionary**:用于存储键值对,分别提供不可变和可变版本。 #### 10. BOOL - **BOOL**:布尔类型,用于表示真或假。 #### 11. nil, NULL - **nil**: Objective-C中的空指针常量,类似于C/C++中的NULL。 #### 12. #import - **#import**:导入头文件,与C/C++中的#include相似,但能避免重复导入。 #### 13. @interface, @implementation - **@interface**:定义类的接口。 - **@implementation**:实现类的功能。 #### 14.方法调用(消息) -在Objective-C中,方法调用实际上是向对象发送消息。 #### 15.构造函数- **构造函数**:用于初始化对象的特殊方法,如`init`。 - **初始化**:创建对象并设置其初始状态的过程。 #### 16.内存管理- **retain, release, autorelease, dealloc, Autorelease pools**:用于管理对象生命周期的关键字。 - **对象拥有者**:对象创建者负责释放该对象。 #### 17.线程与RunLoop - **线程**:并行执行任务的基本单元。 - **RunLoop**:管理线程事件循环的机制。 #### 18.接口与协议- **接口**:定义了一个类应该具有的行为。 - **协议**:定义了一组方法签名,可以被类实现。 - **正式协议**:明确声明的协议。 - **非正式协议** (category):类的扩展功能。 #### 19.动态类型- **动态类型**:运行时确定对象类型的能力。 #### 20. target-action - **target-action**:用于处理用户界面事件的一种模式。 #### 21. UnitTests - **单元测试**:验证代码组件是否按预期工作的自动化测试。 #### 22.反射- **反射**:在运行时检查和操作对象属性的能力。 #### 23.条件编译- **条件编译**:根据特定条件选择性地编译代码。 #### 24. MVC - **Model-View-Controller**:一种软件架构模式,将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。 #### 25. KVC (KeyValueCoding) - **KVC**:一种通过键名访问对象属性的技术。 #### 26. KVO (KeyValueObserving) - **KVO**:允许对象观察其他对象属性的变化。 #### 27.设计模式- **设计模式**:解决常见问题的可重用解决方案。以上是Objective-C语法的一些关键知识点,涵盖了从基础到高级的主题。对于初学者来说,理解这些概念是学习Objective-C的重要步骤。随着实践的深入,开发者还可以探索更多高级特性和最佳实践。
pdf 文件大小:1.2MB