Как мне создать экземпляр NSValue, который содержит CGAffineTransform?
NSValue
CGAffineTransform
UIKit предоставляет [NSValue valueWithCGAffineTransform:], а AppKit - нет.
[NSValue valueWithCGAffineTransform:]
Нужно ли использовать valueWithBytes:objCType: статический метод?
valueWithBytes:objCType:
CGAffineTransform - это struct
struct
struct CGAffineTransform { CGFloat a, b, c, d; CGFloat tx, ty; };
. Правильный способ работы со структурами описан в Руководство по программированию кодирования значения ключа - Представление значений, не являющихся объектами (Обертывание и развертываниеСтруктуры)
CGAffineTransform transform; NSValue *value = [NSValue valueWithBytes:&transform objCType:@encode(CGAffineTransform)];