In general, OBJECTIVE-C access member variable visibility is the same as C + +, just a few @package. The following is a detailed description:
Example:
@interface CTPerson : NSObject
{
@private
int _age;
@protected
NSString *_name;
@public
double _height;
@package
double _weight;
}
@private: Private, it can only be accessed directly in the object method of this class
@protected: protected: can only be accessed directly in this class and subclass and cannot be accessed externally
@public: Public, in this class, sub-class, external can access
@package: Mainly used within the framework, within the framework equivalent to @protected, outside the frame equivalent to @private
Add: The member variable can also be defined within the implementation file, but the member variable is private, and it is private regardless of the visibility modifier used .
Example:
@implementation CTPerson
{
@public
int _sex; // The member variable will also be treated as private
}
OBJECTIVE-C member variable access decoration that is, member variable visibility resolution