2016-03-25 14 views
0

Ich habe es mit vielen GLKmatrix4 Elementen zu tun. Diese Elemente sind Strukturen, die unter GLKit deklariert sind.Wie erstellt man eine Klassenerweiterung einer Struktur?

An einem Punkt möchte ich die Zeichenfolgendarstellung dieser Elemente in Reihe-Spalte-Reihenfolge erhalten.

Wenn diese Elemente Objekte wären, würde ich eine Klassenerweiterung wie folgt erstellen:

-(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]; 
} 

aber GLKMatrix4 eine Struktur ist. Wie mache ich das?

Antwort

3

Extensions oder Kategorien für Strukturen gibt es nicht. Sie sind einfache alte C-Strukturen. Wenn Sie sich ansehen, was Apple tut, verwendet es normalerweise C-Funktionen, um mit ihren Strukturen zu arbeiten. Zum Beispiel CGPointFromString oder CGRectMake. Sie könnten den gleichen Ansatz verwenden oder alle diese Funktionen in einer Klasse kapseln.

+0

Ich habe das vermutet. Ich brauchte nur eine Bestätigung. DANK: – SpaceDog

+0

..und Apple kam mit Erweiterung für struct in swift! – byJeevan