覆盖复合对象内某个实例的某些方法是一个好的设计吗?

时间:2013-01-11 13:02:01

标签: ios

我正在开发适用于iOS的应用程序。

班级设计如下:

我的目的是让使用CustomView的开发人员为所有标签设置样式,而不是文本。标签的文本将根据设置为,entity1,entity2,entity3。

的值进行设置

由于我通过访问器将label1,.. label3作为属性公开,我计划拦截发送的任何消息以设置任何标签的文本并覆盖它以不执行任何操作。这是一个正确的设计吗?

@interface CustomView:UIVIew{

}

@property (nonatomic) UILabel *label1;
@property (nonatomic) UILabel *label2;
@property (nonatomic) UILabel *label3;

@property (nonatomic) CustomEntity *entity1;
@property (nonatomic) CustomEntity *entity2;
@property (nonatomic) CustomEntity *entity3;

@end

@interface CustomEntity:NSObject
@property (nonatomic) NSString *dsiplayName;
@property (nonatomic,assign) NSInteger *totalItems;
@end

1 个答案:

答案 0 :(得分:1)

这几乎不是一个好的设计,这是相当黑的。如果您要求未设置标签文本,则不要将标签公开为属性。