以CalculationBrain为例的MVC机制,.h/.m文件解析

来源:互联网 发布:unity3d插件map lab 编辑:程序博客网 时间:2024/05/28 16:11

model里面的文件

.h文件: head. file,公共API

这里写图片描述

在公共API中,你必须说明父类是谁,父类是公共的,需要放到头文件里面,语法是
@interface 类名 :父类

其中,类名必须与文件名称相同
这里写图片描述

CalculationBrain类的父类是 NSObject
这里写图片描述

要指定父类,需要导入#import,否则Objective-C编译器不知道你的父类是什么,通常对于iOS的父类,我们不止导入类的头文件,而是导入整个框架。

这里写图片描述

所有的实例变量都在这里(无论是私有还公有)。这里的实例变量是受保护的,基本上是私有的。当别人使用这个类的时候,别人可以使用公用的方法,但他们不能使用你的实例变量。
这里写图片描述

方法声明(这里举几个例子)
规定void作为返回类型:该方法不返回值
这里写图片描述

方法的名字是setOperand
这里写图片描述

参数类型是double,参数名称是anOperand
这里写图片描述

方法后面有逗号
这里写图片描述

这里声明了一个返回双精度值的方法
这里写图片描述

这里写图片描述

这个方法带有两个参数,分别是foo和bar,参数名称最好容易理解,像读英文一样
这里写图片描述

返回一个指向数组的指针
这里写图片描述

第二个参数的类型是id,说明这个指针可以指向任何类型
这里写图片描述

这里写图片描述
.h文件以@end结尾,表示接口的结束。所有公共API都在@interface和@end之间

.m文件:私有API以及所有的实现

这里写图片描述

需要导入头文件,因为实现文件需要知道就API而言,我们用的是什么公共API,知道我们的实例变量在哪里,等等。
注意:这里导入的文件要用一对双引号引起来,而不是“<”和”>“这样的字符。双括号适用于本地文件(你自己创建的文件),而不是系统文件。使用双括号时,编译器一般会首先在项目目录寻找指定文件,然后转到其他位置查找。如果有必要,可以指定编译器要查找的不同位置。
这里写图片描述

在实现文件中不需要声明父类
这里写图片描述

方法的末尾没有逗号,编写该方法的代码
这里写图片描述

方括号表示发送信息,向operation发送sendMessage消息,并提供参数argument
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

.m文件以@end结尾,表示实现的结束。所有私有实现都在@implementation和@end之间

controller里面的文件

.h文件

这里写图片描述

这里写图片描述

这里写图片描述

MVC视图
这里写图片描述

还要注意,测试程序main.m包括接口文件,而不包括实现文件。当在其他文件中需要使用一个类时,编译器通过类的接口部分获取所需要的全部信息。类的实现部分包括方法的实际代码,当你编译你的程序时,Xcode会处理引入了其他代码的情况。接口文件包含类的公开信息,即能够与这个类的使用者共享一些信息。另一方面,实现部分包含的是私有信息,即实例变量和代码。

阅读全文
0 0
原创粉丝点击