object-C 之 foundation--NSRange & NSPoint & NSSize & NSRest

本文详细解释了NSRange、NSPoint、NSSize、NSRect结构体的定义、创建方式及使用示例,帮助开发者深入理解并灵活运用这些结构体进行Objective-C编程。

NSRange : 用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围

定义:

typedef struct _NSRange {

   NSUInteger location;

   NSUInteger length;

} NSRange;

location: 范围的起始位置

length: 范围内所含的元素个数

eg: i love objective-c 中“obj” 可用location 为7(从0开始),length为3的范围来表示


三种方式创建NSRange变量

1. 直接给成员赋值

NSRange range;

range.location=7;

range.length=3;

2. 应用c语言的聚合结构赋值

NSRange range={7,3};

或者:NSRange range={. location=7, . length=3};

3. 快捷函数:NSMakeRange

NSRange range=NSMakeRange(7,3)


NSPoint 结构体代表平面的一个点(x,y)

定义


typedef CGPoint NSPoint;//NSPoint等同于CGPoint

struct CGPoint {

  CGFloat x;

  CGFloat y;

};

typedef struct CGPoint CGPoint;


三种方式创建NSRange变量

1. 直接给成员赋值

NSPoint point;

point.x=7;

point.y=3;

2. 聚合结构赋值

NSPoint point=CGPointMake(73);

3. 快捷函数:NSMakePoint

NSPoint point=NSMakePoint(7,3)


NSSize 结构体用来存储宽度和高度的(width,height)

定义


typedef CGSize NSSize;//NSPoint等同于CGPoint

struct CGSize {

  CGSize width;

  CGSize height;

};

typedef struct CGSize CGSize;


三种方式创建NSSize变量

1. 直接给成员赋值

NSSize size;

size.width=7;

size.height=3;

2. 聚合结构赋值

NSSize size=CGSizeMake(73);

3. 快捷函数:NSMakeSize

NSSize size=NSMakeSize(7,3)


NSRect 结构体用来存储具体位置的(origin,size)

定义


typedef CGSize NSSize;//NSPoint等同于CGPoint

struct CGRest {

  CGPoint origin;

  CGSize size;

};

typedef struct CGRect CGRect;


三种方式创建NSSize变量

1. 直接给成员赋值

NSRect rect;

rect.origin.x=3; //位置

rect.origin.y=5;

rect.size..width=7;//尺寸

rect.size.height=3;

//只可以一个一个复职

2. 聚合结构赋值

NSRect rect=CGRectMake(3,5,73);

3. 快捷函数:NSMakeSize

NSRect rect=NSMakeRect(3,5,7,3);










使用中

定义

void range(){

    NSRange range=NSMakeRange(8,10);

    NSLog(@"location :%zi", range.location);

   NSLog(@"length: %zi",range.length);

   //结构体变字符串

   NSString *str=NSStringFromRange(range);

   //%@代表oc对象,需要将结构体付给指针才能调用

    NSLog(@"%@",str);

    

}

主函数中调用: range();




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值