我有一个将绘制图表的视图......将有多个图表类型...如何将它们包装在工厂类中?所以我有一个MyChart
类(UIView
子类)...如果用户可以这样做:
MyChart *chart = [[Mychart alloc] initWithFrame:frame andType:1];
和图表实际上会成为MyLineChart
对象......或myChart可以创建的其他对象?
我只是在myChart类的init中创建thouse视图..并返回它们而不是返回self?
答案 0 :(得分:1)
像这样的Sudo代码
typedef enum {
MyChartTypeLine,
MyChartTypePoint,
...
} MyChartType;
MyLineChart *chart = [MyChart chartWithType:MyChartTypeLine];
在MyChart.m中添加一个类方法:
+ (id)chartWithType:(MyChartType)type
{
switch (type) {
case MyChartTypeLine:
return [[MyLineChart alloc] init];
case...
}
return nil;
}