2016-03-25 2 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

.. и Apple придумала расширение для структуры в быстром! – byJeevan