在写oc代码时,常常会发现,在.h文件中,有@interface的申明,在.m文件中,也有,那么他们的区别,今天做一个记录。
.h里面的@interface
,它是供其它Class调用的。它的@property
和functions,都能够被其它Class“看到”(public)
而.m里面的@interface
,在OC里叫作Class Extension,是.h文件中@interface
的补充。但是.m文件里的@interface
,对外是不开放的,只在.m文件里可见(private)
因此,我们将对外开放的方法、变量放到.h文件中,而将不想要对外开放的变量放到.m文件中(.m文件的方法可以不声明,直接用)。