1

チャートを描画するビューがあります...複数のチャートタイプがあります...ファクトリクラスでそれらをラップするにはどうすればよいですか?だから私はMyChartクラス(UIViewサブクラス)を持っています...そしてユーザーが次のようなことをすることができれば:

MyChart *chart = [[Mychart alloc] initWithFrame:frame andType:1];

チャートは実際にはMyLineChartオブジェクトになります...またはmyChartが作成できる他のオブジェクトですか?myChartクラスのinitでthouseビューを作成し、自分自身を返す代わりにそれらを返すだけですか?

4

1 に答える 1

1

このような擬似コード

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;
}
于 2012-11-18T13:41:12.830 に答える