#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 ""是用来导入用户的头文件

posted @ 2020-02-13 15:38  zbblogs  阅读(379)  评论(0编辑  收藏  举报