iOS 写一个类属性

2021-07-02  本文已影响0人  Yuency

前言:

我想通过类名直接调用这个类的属性,就像 [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);
    
}
上一篇 下一篇

猜你喜欢

热点阅读