我正在处理很多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
是一个结构。我该怎么做?
答案 0 :(得分:3)
没有结构的扩展或类别。它们是普通的旧C结构。如果你看看苹果做了什么,通常它会使用C函数来处理它们的结构。例如,CGPointFromString
或CGRectMake
。您可以使用相同的方法,也可以将所有这些函数封装在一个类中。