关闭

黑马程序员——OC基础---开发技巧(多文件开发,xcode功能演示)

180人阅读 评论(0) 收藏 举报

------<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多文件查看

用来同时查看多个文件,方便对比

点击右上角的两个圆圈即可

如图:



效果如图:





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3699次
    • 积分:216
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档