Objective-C 编程全解-第02章 Objective-C程序设计
来源:互联网 发布:淘宝运作流程 编辑:程序博客网 时间:2024/04/28 03:00
第02章 Objective-C程序设计
2.1 对象和消息
2.1.1 消息表达式
消息表达式(message expression):如
id obj;
[obj msg];//消息表达式,obj为消息接收者。
消息是由消息关键字(message keyword)组成的,消息关键字的命名规则同变量名的命名规则一样。同函数调用一样,消息中也可以带有参数。没有参数的消息只有消息名。
消息关键字的末尾有”:”时,表示这个消息带有参数。
发送带有多个参数的消息的时候,可以通过多个“关键字:变量”的写法完成调用。另外,也可以省略关键字而只是通过“:”将变量连接起来,如:
- (void)testFun:(NSString*)str1 :(NSString*)str2
{
NSLog(@"%@%@",str1,str2);
}
[selftestFun:@"one" :@"two"];
2.1.2 消息选择器
函数是通过函数名来区分的,消息则是通过消息名来区分的。消息名又称为消息选择器(message selector)、选择器(selector)或方法(method)。
2.1.3 实例变量的生成和初始化
实例的生成:
[类名 alloc]
alloc执行后即可完成对象所需要的存储空间的分配,但还没有对对象进行初始化。初始化对象用的方法叫做初始化方法(initializer)。不同的类会提供不同的初始化方法,同一个类也可能提供多个初始化方法。
2.2 类的定义
2.2.1 类的接口声明
Objective-C中接口(interface)和实现(implementation)是分离开的。
类接口的声明以编译指令@interface开始并以@end结束,所有的Objective-C编译指令(compiler directive)都是以@字符开头。
BOOL是Objective-C的布尔类型,它的值为真值常量YES(非0)和假值常量NO(0)。Objective-C的BOOL并不是一个基本类型,他是无符号char的一个typedef(别名)。
2.2.2 类的实现
类的实现部分以编译指令@implementation开始,以@end结束。
方法内部可以自由使用类的实例变量。
2.3 编译
2.3.1 简单的编译方法
Objective-C是使用C语言编译器clang来编译代码的。
- Objective-C 编程全解-第02章 Objective-C程序设计
- Objective-C 编程全解-第01章 面向对象的编程
- Objective-C 编程全解-第03章 类和继承
- Objective-C 编程全解-第04章 对象的类型和动态绑定
- objective-C 编程全解-第05章 基于引用计数的内存管理 上
- objective-C 编程全解-第05章 基于引用计数的内存管理 中
- objective-C 编程全解-第05章 基于引用计数的内存管理 下
- objective-C 编程全解-第07章 属性声明
- Objective-C 编程全解-第08章 类NSObject和运行时系统 上
- objective-C 编程全解-第08章 类NSObject和运行时系统 下
- Objective-C 编程全解-第15章 消息发送模式 上
- objective-C 编程全解-第15章 消息发送模式 中
- objective-C 编程全解-第15章 消息发送模式 下 NSUndoManager 撤销管理器
- objective-C编程 程序设计摘要
- 《Objective-C编程全解》 读书笔记 第一章
- 《Objective-C编程全解》 读书笔记 第十九章 并行编程
- 《Objective-C编程全解》 读书笔记 第二章
- 《Objective-C编程全解》 读书笔记 第三章 继承
- Linux下出现No module named ..的原因
- 青蛙的约会<数论,extgcd>
- scala笔记(一)
- angular js知识总结
- android网络框架
- Objective-C 编程全解-第02章 Objective-C程序设计
- IDM张檬版
- R语言实战-基本数据管理
- JavaScript学习笔记04-函数
- 第一篇技术博客
- 【LQ系列】 BASIC-6~BASIC-10
- linux shell 编程笔记 - shell脚本之变量
- C语言栈内存的分配
- Android23之轻量级数据库存储(Sqlite)