macOS - [NSValue valueWithCGAffineTransform:]

问题描述 投票:0回答:1

如何创建包含NSValueCGAffineTransform实例?

UIKit提供[NSValue valueWithCGAffineTransform:],但AppKit没有。

我需要使用valueWithBytes:objCType:静态方法吗?

macos cocoa appkit foundation
1个回答
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)];
© www.soinside.com 2019 - 2024. All rights reserved.