2016-03-25 11 views
0

私は多くのGLKmatrix4要素を扱っています。これらの要素は、GLKitで宣言された構造体です。構造体のクラス拡張を作成するには?

ある時点で、これらの要素の文字列表現を行と列の順序で取得したいと考えています。これらの要素がオブジェクトである場合

私はこのようなクラスの拡張機能を作成します。

-(NSString *)getString { 

    NSMutableString *string = [NSMutableString string]; 

    [string appendString:[self formatString:self.m00]]; 
    [string appendString:[self formatString:self.m01]]; 
    [string appendString:[self formatString:self.m02]]; 
    [string appendString:[self formatString:self.m03]]; 
    [string appendString:[self formatString:self.m10]]; 
    [string appendString:[self formatString:self.m11]]; 
    [string appendString:[self formatString:self.m12]]; 
    [string appendString:[self formatString:self.m13]]; 
    [string appendString:[self formatString:self.m20]]; 
    [string appendString:[self formatString:self.m21]]; 
    [string appendString:[self formatString:self.m22]]; 
    [string appendString:[self formatString:self.m23]]; 
    [string appendString:[self formatString:self.m30]]; 
    [string appendString:[self formatString:self.m31]]; 
    [string appendString:[self formatString:self.m32]]; 
    [string appendString:[self formatString:self.m33]]; 
    [string appendString:@"\n"]; 

    return self; 
} 

- (NSString *)formatString:(float)value { 
    return [NSString stringWithFormat:@"%.6f ", value]; 
} 

しかしGLKMatrix4が構造体です。それ、どうやったら出来るの?

答えて

3

構造体のエクステンションやカテゴリのようなものはありません。それらは普通の古いC構造体です。もしあなたがリンゴが何をしているのかを見ると、通常、C関数を使って構造体を扱います。例えば、CGPointFromStringまたはCGRectMakeです。同じアプローチを使用することもできますし、クラス内でこれらの関数をすべてカプセル化することもできます。

+0

私はそれを疑っていました。ちょうど必要な確認。ありがとう: – SpaceDog

+0

..とアップルは迅速に構造体のための拡張機能を思いついた! – byJeevan

関連する問題