Foundation.h 里面就是一堆的#import 引入Foundation.h就是引入了所有Foundation库的所有头文件
如果在头文件中不需要这个类的具体实现细节(不会用到它提供的方法等信息)则用前值声明就可以
前置声明就是@class A 他告诉编译器A是一个类 但是编译器并不会知道这个类的详细信息
减少头文件引入其他类的头文件 有助于减少编译依赖 降低类与类之间的耦合
#import 和 #include区别 #import可以防止头文件的重复包含
类的父类和类所遵循的协议的头文件需要引入 尽量把协议放在一个单独的文件中不要将其放入到一个很大的文件中 如果放入到一个很大文件中那么引入这个协议的同时 会引入大文件中的所有内容 委托协议 一般和委托类放在一起 故引入委托协议的时候只要引入委托类的头文件即可