八、Foundation -常用结构体

一、NSRange

在foundation/NSRange.h中对NSRange的定义

typedef struct _NSRange{

  NSUInteger location;

  NSUInteger length;

} NSRange;

//typedef unsigned long NSUIntegr;

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

location表示该范围的起始位置

length表示该范围内所含的元素个数

三种方式创建一个NSRange变量

1、直接给成员赋值

NSRang range;

range.location = 8;

range.length = 3;

2、应用C语言的聚合结构赋值机制

NSRange range =  {7,3};

 或者 NSRange range = {.lcation = 8,.length = 3};

3、Foundation框架提供的一个快捷韩函数NSMakeRane

NSRange range = NSMakeRange(7,3);

二、NSPoint(CGPoint)位置

NSPoint p ;

p.x=10;

p.y=5;

快速创建方法
NSPoint p = NSMakePoint(2,10);

或者p = CGPointMake(2,10);

打印

NSString *str = NSStringFormPoint(p);

NSLog(@"%@",str);

三、NSSize(CGSize)宽度和高度

 NSSize size;

size.width=100;

size.height=90;

size = NSMakeSize(90,100);

size  =CGSizeMake(10,20);

打印

NSString *str = NSStringFormPoint(size) ;

NSLog(@"%@",str);

四。NSRect (CGRect) 包含了点,包含了宽度

sturct CGRect{

  CGPotin origin;

      CGSize size;

}

 NSRect rect ; //CGRect rect;

rect.origin.x=10;

rect.origin.y=20;//不允许rect.origin={10,20}

rect.size.width =100;

rect.size.height=36;

快速创建

rect = NSMakeRect(10,10,80,80);

或者

rect = CGRectMake(10,10,23,34);

 NSString *str = NSStringFormRect(rect) ;

原文地址:https://www.cnblogs.com/hqr9313/p/3515538.html