">

iOS_@class_#import ""_#import <>

2018-08-28  本文已影响0人  自律_自强_通达

一、概念

@class 、#import “”、#import <> 、#include <>、#include "",都是类导入的语句。

二、区别

1. OC:@class 、#import ""、#import <> 用于OC语言。
  1)@class :前向引用,为了解决循环导入问题(循环导入,会引起对象无法释放,造成内存泄漏,编译器也不允许),只是会告知当前类有这样一个类,但是这个类具体属性方法一概不知。
  2)#import "":导入一个程序员在项目中自己创建的类。
  3)#import <>:导入一个系统类(或者其他静态类库)。
2. C/C++:#include <>、#include "" 用于C语言。
  1)#include "":引用的是你程序目录的相对路径中的头文件。(随项目动)
  2)#include <>:引用的是你编译器的类库路径里面的头文件。(随编译器动,而编译器一般不动,所以这个路径基本是不变的)。

三、事例

首先展示:ViewController.h 文件

//
//  ViewController.h
//  forGoogle
//
//  Created by 郎震 on 2018/8/28.
//  Copyright © 2018年 OrganizationNameZL. All rights reserved.
//

#import <UIKit/UIKit.h>
// 首先得在.m 文件中引用了这个TwoViewController 类
@class TwoViewController;

@interface ViewController : UIViewController

@property (nonatomic, strong) TwoViewController *two;

@end

其次展示:ViewController.m 文件

//
//  ViewController.m
//  forGoogle
//
//  Created by 郎震 on 2018/8/28.
//  Copyright © 2018年 OrganizationNameZL. All rights reserved.
//

#import "ViewController.h"
#import "TwoViewController.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

那,现在TwoViewController类的引用方式一样,所以我把 它的引用方式不再显示在本文。

上一篇 下一篇

猜你喜欢

热点阅读