Cocoa 将CATTransferM3D转换为NSString

Cocoa 将CATTransferM3D转换为NSString,cocoa,calayer,catransform3d,Cocoa,Calayer,Catransform3d,我希望能够为CATTransform3D执行类似于NSStringFromCGAffineTransform的操作。有任何内置的功能吗?或者使用现有API的方法 例如: [[layer valueForKey:@"transform"] description] 几乎可以这样做,但将转换值输出为十六进制。CATTransformerM3d是一个CGFloats的结构,名为m11、m12、m13,…(右键单击Xcode中的CATTransformerM3d,然后单击“跳转到定义”)。知道了这一点

我希望能够为
CATTransform3D
执行类似于
NSStringFromCGAffineTransform
的操作。有任何内置的功能吗?或者使用现有API的方法

例如:

[[layer valueForKey:@"transform"] description]

几乎可以这样做,但将转换值输出为十六进制。

CATTransformerM3d
是一个
CGFloat
s的结构,名为
m11、m12、m13,…
(右键单击Xcode中的
CATTransformerM3d
,然后单击“跳转到定义”)。知道了这一点,您可以创建一个与其他
NSStringFromX()
函数行为类似的函数

NSString *NSStringFromCATransform3D(CATransform3D transform) {
    return [NSString stringWithFormat:@"[%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f]",
            transform.m11, transform.m12, transform.m13, transform.m14,
            transform.m21, transform.m22, transform.m23, transform.m24,
            transform.m31, transform.m32, transform.m33, transform.m34,
            transform.m41, transform.m42, transform.m43, transform.m44];
}