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 类的接口声明

    ObjectiveC中接口(interface)和实现(implementation)是分离开的。

    类接口的声明以编译指令@interface开始并以@end结束,所有的ObjectiveC编译指令(compiler directive)都是以@字符开头。

    BOOLObjectiveC的布尔类型,它的值为真值常量YES(非0)和假值常量NO0)。ObjectiveCBOOL并不是一个基本类型,他是无符号char的一个typedef(别名)。


2.2.2 类的实现

    类的实现部分以编译指令@implementation开始,以@end结束。

    方法内部可以自由使用类的实例变量。


2.3 编译

2.3.1 简单的编译方法

    ObjectiveC是使用C语言编译器clang来编译代码的。


0 0