NSRange、NSSize、NSPoint、NSRect

NSRange、NSSize、NSPoint、NSRect

OC 封装了一些常用的Struct,例如:NSRange、NSSize 、NSPoint、NSRect等便于大家使用,之所以把他们定义为Struct 而没有封装成类,是因为,OC对象都是动态分配内存的,如果封装成类的话,面临的是更加频繁的内存分配操作,这将会消耗大量的时间,所以将其封装成工程基本的结构体,这样可以大大的节省系统开销。

NSRange

作用:用来表示某些事务的范围
定义如下:

typedef struct _NSRange{
    unsigned int location;
    unsigned int length;
}NSRange

有三种方式去使用这个结构

//第一种 起始位置为10  长度为4 (直接给字段赋值)
NSRange range;
range.location = 10;
range.length = 4;

//第二种 应用C的聚合结构赋值机制
NSRange range = {10,4};

//第三种 使用Cocoa提供的一个快捷函数NSMakeRange();
NSRange range = NSMakeRange(10,4);

NSPoint
作用:用于表示笛卡尔平面中的一个点,可以理解为一个坐标(x,y)
定义如下:

typedef struct _NSPoint{
    float x;
    float y;
}NSPoint;

NSSize
作用:用于存储长度和宽度

typedef struct _NSSize{
    float width;
    float height;
}NSSize;

NSRect
这是一个复合结构,由以上两个结构体组成,如果要画一个矩形就可以使用这个结构

typedef struct _NSRect{
    NSPoint origin;
    NSSize size;
}NSRect;

总结:
以上三个结构除了正常的赋值以外,还可以分别使用以下函数进行操作

NSMakePoint();
NSMakeSize();
NSMakeRect();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值