objective-c保护属性

时间:2023-03-09 15:48:40
objective-c保护属性
#import <Foundation/Foundation.h>

@interface ClassVirable : NSObject{
NSInteger year;//保护树形
}
@property int age;//不用在实现文件中写@synthesize age就会有setAge:和age方法了
-(void)set:(NSInteger)i;
@end
#import "ClassVirable.h"

@implementation ClassVirable
///Property implementation must have its declaration in interface 'ClassVirable'
//@synthesize year;
-(void)set:(NSInteger)i{
self.age = i;
year = i;
}
@end
#import <Foundation/Foundation.h>
#import "ClassVirable.h"
int main(int argc, const char * argv[])
{ @autoreleasepool {
ClassVirable *c = [[ClassVirable alloc]init];
[c set:];
[c setAge:];
NSLog(@"%i",[c age]);
NSLog(@"%i",c.age);
//Instance variable 'year' is protected
// NSLog(@"%ld",(long)c->year);
}
return ;
}