我正在使用键值编码来简化模型类的更新实例:
@interface NewsItem : NSObject
{
}
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *description;
@property (nonatomic, copy) NSString *link;
@property (nonatomic, copy) NSString *date;
使用:
SEL selectorName = NSSelectorFromString(elementName);
if ([self.newsItem respondsToSelector:selectorName])
{
NSString *sanitisedElement = [self sanitiseElement:self.currentElementData];
[self.newsItem setValue:sanitisedElement forKey:elementName];
}
这很好用,但“描述”属性对我来说并不“闻起来”,因为它覆盖了基本的 NSObject 描述获取器(+(NSString *)描述)。如果现在调用描述 getter,它将在调用者期望类的描述时返回不相关的信息。
是否可以安全地为此类进行键值编码(假设我被外部数据源绑定到这些属性名称)?或者更改属性名称并手动检查键/设置值是否明智?