macOS-[NSValue valueWithCGAffineTransform:]

时间:2019-03-02 16:27:18

标签: macos cocoa appkit foundation

如何创建包含NSValue的{​​{1}}实例?

UIKit提供了CGAffineTransform,但AppKit没有提供。

我需要使用[NSValue valueWithCGAffineTransform:]静态方法吗?

1 个答案:

答案 0 :(得分:1)

CGAffineTransform是struct

struct CGAffineTransform {
  CGFloat a, b, c, d;
  CGFloat tx, ty;
};

Key-Value Coding Programming Guide - Representing Non-Object Values(包装和展开结构)中提到了处理结构的正确方法

CGAffineTransform transform;
NSValue *value = [NSValue valueWithBytes:&transform objCType:@encode(CGAffineTransform)];