关于ios中成员变量、属性变量,以及@public、@protected、@private等关键字的使用。
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {//下面的四个变量属于成员变量,一般加下划线_
NSString *_defaultStr;//默认是protected
@public
NSString *_publicStr;//其实public的成员变量就可以用属性变量代替了
@protected
NSString *_protectedStr;//子类中可见
@private
NSString *_privateStr;//私有的
}
@property(nonatomic, copy) NSString *name;//属性变量,定义在.h文件中相当于public,.m文件中相当于private。
@end
成员变量一般不需要与其它的类进行交互,属性变量一般是和其它的类有交互,当然,可以对属性变量设置各种访问权限。两者差别并不是很大,根据使用场景的不同灵活选择即可。
网友评论