object-c 2.0入门笔记
OBJECT-C入门笔记
- OBJECT-C 2.0的语法特点
- 文件扩展名
- 字符串
- 类
- 方法
OBJECT-C 2.0的语法特点
有点类似C和C++,属于C语言超集。
提供类定义,方法和属性。
面向对象的概念,如封装,继承以及多态,在Objective-C中都有所体现。
Cocoa基础
文件扩展名
扩展名 | 内容类型 |
---|---|
.h | 头文件。头文件包含类,类型,函数和常数的声明。 |
.m | 源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。 |
.mm | 源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。 |
字符串
和C语言相同的地方是,用单引号表示一个字符,用双引号表示一个字符串。
但OBJECT-C中常用NSString类来操作字符串。
因为这种字符串使用的非常频繁,Objective-C提供了一个助记符可以方便地从常量值创建NSString对象。在普通的双引号字符串前放置一个@
例如:
NSString* testCmd=@“abcde”;
NSString* anotherString = [NSString stringWithFormat:@“%d %s”, 1, @“String”];
#define Ble @“0x3” // 添加指纹
// 从一个C语言字符串创建Objective-C字符串
NSString* fromCString = [NSString stringWithCString:“A C string” encoding:NSASCIIStringEncoding];
类
如同所有其他的面向对象语言,类是Objective-C用来封装数据,以及操作数据的行为的基础结构。对象就是类的运行期间实例,它包含了类声明的实例变量自己的内存拷贝,以及类成员的指针。Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义,以及类相关的方法。实现部分包含了类方法的实际代码。
类声明,以@interface关键字开始,而不是C++中的class
例如:
@interface CDog: CAnimal
{
int age;
NSString *name;
id data;
};
@interface DeviceCommandRequest : NSObject
// 通用发送命令通道
- (void)sendCommand:(NSString *)code
params:(NSDictionary *)params
success:(successResult _Nullable)success
failure:(failureResult _Nullable)failure;
@end
方法
方法有两类,一类是实例方法用-号标识,一类是类方法用+号标识。
对应c++中的普通实例方法和静态方法,后者不需要实例化。
[self sendCommand:Ble params:params success:success failure:failure];