前言:
我想通过类名直接调用这个类的属性,就像 [UIColor greenColor]; 和 UIColor.greenColor; 一样绿色而又健康。😭
上代码!
Person.h
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Person : NSObject
///类调用 方案一 (实现 get 即可)
@property (nonatomic, readonly, class) NSString *shame;
///类调用 方案二 (实现 get 即可)
+ (NSString *)disgrace;
///类调用 方案三 (需要实现 get set)
@property (nonatomic, strong, class) NSString *ignominy;
@end
NS_ASSUME_NONNULL_END
Person.m
#import "Person.h"
@implementation Person
///类调用 方案一 (实现 get 即可)
+ (NSString *)shame {
return @"shame";
}
///类调用 方案二 (实现 get 即可)
+ (NSString *)disgrace {
return @"disgrace";
}
///类调用 方案三 (需要实现 get set)
static NSString * save_ignominy = @"ignominy";
+ (NSString *)ignominy {
return save_ignominy;
}
+ (void)setIgnominy:(NSString *)ignominy {
save_ignominy = ignominy;
}
@end
调用:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", Person.shame);
NSLog(@"%@", Person.disgrace);
NSLog(@"%@", Person.ignominy);
Person.ignominy = @"改变之后,真可耻";
NSLog(@"%@", Person.ignominy);
}
网友评论