------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
多文件开发
1.类的独立抽取
OC在编译源文件时时是单文件编译,生成.o链接文件。而OC在链接的时候则是,把所有的 .o文件和在一起链接。而.0链接文件中有类方法的定义和实现。
假如A文件在引用B类时,若这样写:#import “B.m” 则在链接时会出错。因为B.m编译链接时,已经定义和实现了方法,而A在编译和链接时又定义和实现了B中的方法。所以会报重复定义B中方法的错误。
因此为了,把类分开写后又能调用的时候不重复定义。需要把类B分开写成.h,和.m文件。
B.h文件中:写类的声明
B.m文件中:写类的实现
A在饮用B类时只需要调用B类的.h头文件即可。:#import :"B.h".
B类只需要声明一下,让A知道B里面有哪些变量和方法,A拿B过来就能用。A不用管B类怎么实现。
B类的实现在.m文件里。编译B.m生成只包含B类实现的B.o文件。编译A.m时生成只包含B类声明的A. o文件。然后链接文件A.0和B.o 一起运行时,就不会再报B类重复定义的错误了。
2..h和.m文件的分工
把类的声明放在.h文件中而把类的实现放在.m文件中
3.使用xcode新建类
1)
打开xcode,点击creat a new Xcode project 这一项
如图:
2)
选择命令行项目,点next
如图:
3)输入项目名称:第一个OC项目,点击next
如图:
4选择存储位置
如图:
5)在main.m上点击鼠标右键,选择new file,如图
6)选择Cocoa class,点next
7)输入类名Person 点next
8)点击create 类就建成了!!!
如图:Person类就建成了
多文件开发示例:
main.m文件
#import <Foundation/Foundation.h>
#import "Student.h"
int main()
{
NSLog(@"4234234324");
int a = 10;
int b = a;
b = 10;
Student *stu = [Student new];
[stu setAge:10];
int c = [stu age];
NSLog(@"c is %d", c);
return 0;
}
新建的Person类
Person.m文件
#import "Person.h"
@implementation Person
+ (void)test
{
}
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
@end
Person.h文件
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
int _age;
}
- (void)setAge:(int)age;
- (int)age;
+ (void)test;
@end
Student类
.m文件和.h文件分别是:
#import "Person.h"
@interface Student : Person
@end
#import "Student.h"
@implementation Student
@end
点击运行效果如图:
xcode 功能演示:
1断点调试
点击代码左边的数字,数字变蓝色,表示设置了一个断点,点击运行,那一行变绿色
如图:
点击下面的播放键就会继续进行
2代码段保存
我们有的代码段会经常用到,这样可以把它保存下来,以后用到的时候直接用就不用再一行一行敲代码了
操作:
把想保存的代码段选中后拖到xcode右下角的括号处,保存即可
3注释标记
该功能主要是当我们一个程序写了一半时,想做一下标记的时候
操作:
在段点的那一行处敲上#pragma mark 再输入想写的话就行了
如图:
4多文件查看
用来同时查看多个文件,方便对比
点击右上角的两个圆圈即可
如图:
效果如图: