IOS 类文件.h和.m中@interface的区别

大家都知道我们在创建类文件时会发现:

#import 

@interface ViewController : UIViewController


@end

#import "ViewController.h"

@interface ViewController ()

@end

那么他们之间有何区别呢?

1、.h里的@interface,是典型的头文件,它的属性(@property)和方法(functions)都是能够向其他类公开的。我们都知道有三种权限@private,@protected,@public。写在.h里的默认是@protected权限。

2、.m里的@interface,我们也可以称之为扩展(class extension),是.h文件中@interface的补充。可以增加属性,方法和成员变量,但是只能在.m文件里可见,对外是不开放的。在.m里的默认是@private权限

@END.

你可能感兴趣的:(iOS基础,ios,objective-c,xcode)