#import 跟#include 有什么区别,@class呢, #import<> 跟 #import“”又什么区别?

1、#import是Object-c导入头文件的关键字,头文件不会重复导入的情况;而#include是c/c++导入头文件的关键字,头文件会出现重复导入的情况(c/c++头文件如何防止重复导入,参考#ifndef和#pragma once

2、@class是告诉编译器某个类的声明,只有在代码执行时才会检查该类的实现文件,因此使用@class可以解决头文件的相互包含。事例如下:

比如类A中#import "B.h",类B中#import "A.h"

解决方法:

把类B中的#import "A.h"删除,换成@class A,然后在类B中.m文件中加上#import "A.h"即可。

3、#import<>是用来导入系统的头文件,而#import ""是用来导入用户的头文件

猜你喜欢

转载自www.cnblogs.com/zbblog/p/12303792.html