常用的结构体 及 NSValue类的使用

常用的结构体:

c中的结构体

/* Points. */

struct CGPoint {

  CGFloat x;

  CGFloat y;

};

typedef struct CGPoint CGPoint;


CGPoint  CGPointMake( CGFloat  x,  CGFloat  y); // 此函数用来创建一个结构体

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/* Sizes. */

struct CGSize {

  CGFloat width;

  CGFloat height;

};

typedef struct CGSize CGSize;

CGSize CGSizeMake(CGFloat width, CGFloat height); // 此函数用来创建一个结构体

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/* Rectangles. */

struct CGRect {

  CGPoint origin;

  CGSize size;

};

typedef struct CGRect CGRect;

CGRect CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height); // 此函数用来创建一个结构体

CGFloat CGRectGetMaxX(CGRect rect); //此函数用来获取rect的最大X值

CGFloat CGRectGetMinX(CGRect rect); //此函数用来获取rect的最小X值


CGFloat CGRectGetMaxY(CGRect rect); //此函数用来获取rect的最大Y值

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CGPoint与NSPoint的区别:

typedef CGPoint NSPoint;

其他的结构体类似

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

NSValue是基本数据类型或自定义数据类型所定义变量的对象包装器

创建NSValue对象:

+ (NSValue *)valueWithCGPoint:(CGPoint)point;

+ (NSValue *)valueWithCGSize:(CGSize)size;

+ (NSValue *)valueWithCGRect:(CGRect)rect;

+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform;

+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets;

+ (NSValue *)valueWithUIOffset:(UIOffset)insets;


取出NSValue中对应的值

- (CGPoint)CGPointValue;

- (CGSize)CGSizeValue;

- (CGRect)CGRectValue;

- (CGAffineTransform)CGAffineTransformValue;

- (UIEdgeInsets)UIEdgeInsetsValue;

- (UIOffset)UIOffsetValue;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值