我试图在运行时确定一个类的属性是否可以为空。例如:
@interface A : NSObject
+ (NSSet<NSString *> *)nullableProperties;
@property (readonly, nonatomic) NSString *description;
@property (readonly, nonatomic, nullable) NSError *error;
@end
@implementation A
+ (NSSet<NSString *> *)nullableProperties {
// Code that identifies nullable properties.
}
@end
nullableProperties
在这种情况下应该返回一个NSSet
with @"error"
。
property_getAttributes
函数可以提供一些属性的信息(更多信息在这里)。不幸的是,它没有提供关于该属性是否被声明为可为空的信息。
我想避免nullableProperties
为我需要知道其可为空属性的每个类实现。