Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
本文以实例详细描述了Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect的定义及用法,具体如下所示:
1、NSRange:
NSRange的原型为
typedefstruct_NSRange{ NSUIntegerlocation; NSUIntegerlength; }NSRange;
NSMakeRange的函数:
NS_INLINEz是内联函数
typedefNSRange*NSRangePointer; NS_INLINENSRangeNSMakeRange(NSUIntegerloc,NSUIntegerlen){ NSRanger; r.location=loc; r.length=len; returnr; }
使用方法:
//NSRange表示的是范围 NSRangerange; range.location=18; range.length=34; NSLog(@"locationis%zi",range.location); NSLog(@"lengthis%zi",range.length); //快速创建 range=NSMakeRange(8,10); NSLog(@"locationis%zi",range.location); NSLog(@"lengthis%zi",range.length); //NSStringFromRange将上面的结构体转化成字符串类型,打印出来 NSString*str1=NSStringFromRange(range); //%@是一个OC对象,range代表的是一个结构体,str是一个OC对象 NSLog(@"rangis%@",str1);
2、NSPoint:
NSPoint的原型:
structCGPoint{ CGFloatx; CGFloaty; };
NSMakePoint函数:
NS_INLINENSPointNSMakePoint(CGFloatx,CGFloaty){ NSPointp; p.x=x; p.y=y; returnp; }
CGPointMake函数:
CGPointMake(CGFloatx,CGFloaty) { CGPointp;p.x=x;p.y=y;returnp; }
使用方法:
//NSPoint指的是位置 NSPointpoint; //给结构体里面的点进行赋值 point.x=10; point.y=10; //快速创建点 point=NSMakePoint(10,18); //常见的是CGPointMake创建点的函数 point=CGPointMake(29,78); NSString*str2=NSStringFromPoint(point); NSLog(@"pointis%@",str2);
3、CGSize:
CGSize的原型:
structCGSize{ CGFloatwidth; CGFloatheight; };
NSMakeSize函数:
NS_INLINENSSizeNSMakeSize(CGFloatw,CGFloath){ NSSizes; s.width=w; s.height=h; returns; }
CGSizeMake函数:
CGSizeMake(CGFloatwidth,CGFloatheight) { CGSizesize;size.width=width;size.height=height;returnsize; }
使用方法:
NSSizesize; size.width=100; size.height=12; size=NSMakeSize(12,12); size=CGSizeMake(11,11); NSString*str3=NSStringFromSize(size); NSLog(@"%@",str3);
4、CGRect:
CGRect的原型:
structCGRect{ CGPointorigin; CGSizesize; };
CGRectMake的函数:
CGRectMake(CGFloatx,CGFloaty,CGFloatwidth,CGFloatheight) { CGRectrect; rect.origin.x=x;rect.origin.y=y; rect.size.width=width;rect.size.height=height; returnrect; }
NSMakeRect函数:
NS_INLINENSRectNSMakeRect(CGFloatx,CGFloaty,CGFloatw,CGFloath){ NSRectr; r.origin.x=x; r.origin.y=y; r.size.width=w; r.size.height=h; returnr; }
使用方法
//既包含了尺寸大小和位置 NSRectrect; rect.origin.x=12; rect.origin.y=14; rect.size.width=12; rect.size.height=15; //快速创建方法 rect=CGRectMake(12,12,12,12); rect=NSMakeRect(11,11,11,11); //转化成字符串打印出来 NSString*str5=NSStringFromRect(rect); NSLog(@"rectis%@",str5);