@interface NSValue (NSValueUIGeometryExtensions)
+ (NSValue *)valueWithPointer:(const void *)pointer;//保存对象指针
+ (NSValue *)valueWithCGPoint:(CGPoint)point;//保存CGPoint结构体
+ (NSValue *)valueWithCGSize:(CGSize)size;//保存CGSize结构体
+ (NSValue *)valueWithCGRect:(CGRect)rect;//保存CGRect结构体
+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform;
+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets;
- (void *)pointerValue;
- (CGPoint)CGPointValue;
- (CGSize)CGSizeValue;
- (CGRect)CGRectValue;
- (CGAffineTransform)CGAffineTransformValue;
- (UIEdgeInsets)UIEdgeInsetsValue;
@end
另外,以下可以直接产生各种类型的对象
@(expression)
@"<string>"
@[<objects, ...>]
@{key: object, ...}
@protocol(protocol-name)
@selector(selector)
@encode(type-name)
本文深入探讨NSValue在Objective-C中的应用,包括如何通过不同方法创建不同类型的对象,并提供了具体的实例代码来帮助开发者理解其用法。
1658

被折叠的 条评论
为什么被折叠?



